วันอังคารที่ 28 สิงหาคม พ.ศ. 2561

เพิ่มขนาด Drive Raspberry Pi ด้วย Gparted

เนื่องจากเวลาเราทำการสร้าง Micro CD Boot แล้ว บางครั้ง พื้นที่ใช้งานของ Card ไม่เต็ม เช่น Card 32GB แต่เห็นแค่ 10GB อะไรแบบนี้

ถ้าอยากรู้ว่าเต็ม Card ไม่ให้ลองสั่ง

#sudo su df -h
จะเห็นว่า Size ขนาดเท่าไหร่ เช่น 32GB ก็ควรจะเห็น 29 - 30 เป็นอย่างน้อยครับ


เราจึงต้องมี Tools มาช่วยในการเพิ่มหรือเรียกพื้นที่ที่ยังไม่ถูกใช้งานให้เต็ม Card กันครับนั่นคือ Gparted

#sudo su apt-get install gparted

เรียกใช้ก็สั่ง

#sudo su gparted

จะเป็น GUI ให้ปรับขาดได้นะครับ คล้ายๆ Partition Magic ในวินโดว์ เลยครับ

วันอาทิตย์ที่ 26 สิงหาคม พ.ศ. 2561

Arduino Uno : GSM A6 โทรออก เมื่อ PIR Sensor ทำงาน

ผมได้ลองซื้อ GSM Module A6 มาเล่นพึ่งจะได้ใช้จริงวันนี้

ผมเอาไปติดไว้ที่ห้อง กรณีมีคนเข้าห้องผม ให้โทรบอกผมทันที และกำลังจะเอาเสียงใส่ไว้อีกด้วยเพื่อเตือนคนที่เข้าห้องผม 55 สนุกดีนะ ลองเอาไปประยุคต์ใช้ดูครับ

ข้อดี ไม่เสียค่าเน็ต, ไม่เสียค่าส่ง SMS, ไม่เสียรายเดือน มีแต่ค่ารักษาเบอร์เดือนละ 10 บาทตาม กสทช.

ข้อเสีย เปิดห้องเดินผ่าน PIR เมื่อไหร่โทรหาเมื่อนั้น ไม่รู้ว่าใครผ่าน ดูภาพไม่ได้

char phone_no1[]="089xxxxxxx";
char phone_no2[]="081xxxxxxx";

//By Yoshioka

void setup() {
  Serial.begin(9600);
  delay(200);

  pinMode(2,INPUT);                     \\PIR Sensor
  digitalWrite(2,LOW);

  pinMode(3,OUTPUT);                 \\GSM A6 POWER ON
  digitalWrite(3,LOW);
  delay(2);
  digitalWrite(3,HIGH);
  delay(3000);
  digitalWrite(3,LOW);
  delay(2);
 
  pinMode(4,OUTPUT);                \\Pre +5V Port
  digitalWrite(4,HIGH);                 \\Set +5V Port  เอาไฟไปเลี้ยงหลอด LED

}

void loop() {

  if (digitalRead(2)==HIGH) {
  Serial.println("AT");                         \\เริ่มสั่งงาน GSM
  delay(1000);
  Serial.print("ATD");                         \\คำสั่ง สั่งโทร
  Serial.println(phone_no1);               \\เบอร์ที่เตรียมไว้
  // Serial.println(";");                          \\บางครั้งอาจจ้องใส่  " ; "  ต่อท้ายเบอร์
  delay(13000);                                    \\ให้โทรไป 13 วินาที
  Serial.println("ATH");                       \\คำสั่ง หยุดโทร
  delay(5000);

  Serial.println("AT");                        \\เริ่มสั่งงาน GSM
  delay(1000);
  Serial.print("ATD");                         \\คำสั่ง สั่งโทร
  Serial.println(phone_no2);               \\เบอร์ที่เตรียมไว้
  // Serial.println(";");
  delay(13000);                                   \\ให้โทรไป 13 วินาที
  Serial.println("ATH");                       \\คำสั่ง หยุดโทร
  delay(5000);
  }

}

Arduino Uno Ethernet Shield W5100 (unhandle https : 443) Post ค่าด้วยตัวเองไม่ได้

Arduino Uno Ethernet Shield W5100 (handle https : 443) Post ค่าด้วยตัวเองไม่ได้

ผมได้พยายามหาข้อมูลอยู่ระยะนึง... เพื่อที่จะหาคำตอบว่า ทำไม Arduino Uno ที่ใช้ Ethernet Shield W5100 จึงไม่สามารถ Post ค่าไปยัง Server ของ Line เพื่อจะทำเป็น Line Notify ได้ เหมือน Wemos D1 หรือ ESP8266

ตอนที่ผมเขียนบทความอยู่นี้ ผมก็ยังทำไม่ได้นะ ยังส่งค่าไป Line Server ไม่ได้ แต่ถ้าส่งผ่าน http กับเครื่อง Local Host ปกติ ไม่มีปัญหาสามารถ Post ค่าไปได้

ผมไปเจออยู่ที่หนึ่งที่เค้าบอกว่า Ethernet Shield W5100 นี้ ไม่สามารถ Handle https ได้เนื่องจากมีการเข้ารหัสของข้อมูลต้องใช้เวลา Handle อยู่ระยะนึงซึ่ง W5100 ทำไม่ได้ ทำให้ไม่สามารถ Post ค่าไปยัง Server ที่ใช้ protocol https เหล่านั้นได้

ผมก็เลยมาลองทำกับ http ที่เครื่องตัวเองดู เออ มันได้จริงๆ ตามที่ได้กล่าวไว้ตอนต้น

ถ้าใครหลงเข้ามาอ่านแล้วพบว่าสิ่งที่ผมเจอมานั้นไม่ถูกต้อง โปรดบอกผมเป็นวิทยาทานบ้างนะครับ

ขอบคุณครับ

วันพุธที่ 8 สิงหาคม พ.ศ. 2561

Network monitoring on Ubuntu

Network monitoring on Ubuntu

1. Nload
$ sudo apt-get install nload
$ nload

2. iftop
$ sudo apt-get install iftop
$ sudo iftop -n

3. iptraf
$ sudo apt-get install iptraf iptraf-ng
$ sudo iptraf

4. speedometer
$ sudo apt-get install speedometer
$ speedometer -r eth0 -t eth0

วันอาทิตย์ที่ 1 กรกฎาคม พ.ศ. 2561

จัดหน้าจอ ด้วย CSS ให้อยู่ตรงกลางของ Browser ทุกขนาดหน้าจอ

ตามนี้แล...

.CenteredScreen {
  position: fixed;
  left: 50%;
  top: 50%;
  /* bring your own prefixes */
  transform: translate(-50%, -50%);
}

Arduino Add Board : WEMOS D1 R2

หากพบว่าไม่พบ Board Wemos D1 ใน Arduino IDE ให้ลองแก้ไขดังนี้

ใน Arduino IDE Version 1.8.5

เข้าไปที่ Menu -> File -> Preference ->

เอา url : http://arduino.esp8266.com/stable/package_esp8266com_index.json

ไปใส่ช่อง Additional Boards Manager URLs:

แล้วเข้า Board Manager จะพบรายการอยู่ล่างๆ สุด ให้ install ได้เลย

UBUNTU : Arduino Error Permission เวลา uploads sketch

เมื่อ Upload Sketch แล้วพบ Error นี้

Arduino: 1.8.5 (Linux), Board: "Arduino/Genuino Uno"

avrdude: ser_open(): can't open device "/dev/ttyUSB0": Permission denied
An error occurred while uploading the sketch

แก้เบื้องต้น

sudo usermod -a -G dialout <username ที่เข้าใช้งาน>

sudo chmod 777 /dev/ttyUSB0


แก้ Active Desktop Recovery

เข้าไปแก้ Value ในไฟล์ DeskHtmlVersion  ให้กลายเป็น 0 ไม่ให้แสดงหน้าต่าง Active Desktop Recovery เข้าไปที่  HKEY_CURRENT_USER/Software/Mi...