อุปกรณ์ที่ใช้

  1. ESP32 Devkit V1 DOIT ผู้เขียนเลือกใช้รุ่นนี่เนื่องจากความกว้างของตัว PCB ไม่กว้างมากเมื่อใช้เสียบทดสอบ Breadboard จะมี Pin ด้านข้างเหลือช่องไว้หนึ่งช่อง
  2. GPS Module NEO-6M หรือจะใช้ GPS + BDS Beidou ATGM336H ซึ่งมีขนาดเล็กกว่าก็ได้
  3. LoRaWAN มอดูล Maxiiot DL7612-AS923-TH เป็นมอดูล LoRaWAN ที่ใช้ AT Command
  4. จอ OLED สีขาว 0.96 inch 128X64

ซอฟท์แวร์ที่ใช้

  1. Thonny IDE คลิก
  2. Firmware MicroPython สำหรับ ESP32 คลิก
  3. MicropyGPS MicroPython Library คลิก

เห็นมีการขายบริการอย่าง Helium Network แล้ว นึกถึงบริการนึงที่ควรจะมีคือ การบริการระบุตำแหน่ง GPS การใช้มอดูล GPS เพื่อรอรับสัญญาณจากดาวเทียมจะใช้เวลานานและบางจุดจะรับสัญญาณดาวเทียมไม่ค่อยจะได้ เช่น ในอาคารเป็นต้น

ที่เขียนต่อไปเป็นแนวคิดล้วนๆ ซึ่งน่าจะมีการ Implement จริงในอนาคต

วิธีแก้ปัญหาให้ใช้ ESP32 เปิด Wifi มี Ssid เป็นตำแหน่ง GPS lat, long

เช่น

import network
ssid = ‘13.756331,100.501762’
password = ‘123456789’
ap = network.WLAN(network.AP_IF)
ap.config(essid=ssid, password=password)
ap.active(True)

อุปกรณ์ IoT หรือที่ต้องการ tracking สามารถได้ตำแหน่งจากการ SCAN ชื่อ Access Point ที่มีชื่อเป็นตำแหน่งแล้วเอาไปใช้

แนวคิดนี้อาจจะใช้กับชื่อ Bluetooth Device ได้เช่นกัน

TTGO T-Display เป็น ESPRESSIF-ESP32 240MHz Xtensa® dual-core 32-bit LX6 microprocessor ที่มากับจอภาพสี ขนาด 1.14 นิ้ว (Chip st7789) รุ่นที่ผู้เขียนได้มาใช้ Chip UART เบอร์ CH9102

T-Display สามารถติดตั้ง MicroPython ได้ แต่ Firmware MicroPython ธรรมดาที่ดาวน์โหลดจากเวป MicroPython.org การจะใช้กับจอภาพสีจะค่อนข้างยาก เราสามารถใช้ LVGL Library ได้โดย Download Firmware LV_MicroPythonn มาติดตั้งแทน เพื่อให้การเรียกใช้ Graphic ทำได้ง่ายขึ้น บทความนี้แนะนำวิธีติดตั้ง LV_MicroPython อย่างย่อๆ

ติดตั้ง Firmware ภาษา MicroPython ที่มี…

เริ่มต้นลอง

import os
os.mountsd()
os.listdir(‘/sd’)

MS5Stack

import uos
from machine import Pin, SDCard

sdcard = SDCard(slot=2, sck=Pin(18), miso=Pin(38), mosi=Pin(23), cs=Pin(4), freq=40000000)
uos.mount(sdcard, '/sd')
...
uos.umount('/sd')
sdcard.deinit()
>>> import uos
>>> uos.mountsd()
import machine, sdcard, os
from ili9XXX import ili9341
lcd = ili9341(mosi=23, miso=38, clk=18, dc=15, cs=5, invert=True, rot=0x10, width=320, height=240,
rst=-1, power=-1, backlight=-1, half_duplex=False) # half_duplex do not work with SDCard
sd = sdcard.SDCard(sdcard.SPI(), machine.Pin(4))
os.mount(sd, "/sd")
print(os.listdir('/sd'))

หาวิธีติดตั้งใช้งานง่ายๆ LVGL Library สำหรับ MicroPython อยู่
MicroPython มี LVGL เรียกว่า lv_micropython ดูรายละเอียดได้จาก https://github.com/lvgl/lv_micropython

หรือดูได้จาก
https://github.com/Mair/learn-lvgl/tree/master/esp32

ตัวอย่างที่เอาไปใช้ได้ คลิก

คลิก Simulator

ตอนนี้บันทึกไว้เพื่อใช้เอง ยังไม่ได้ Clean และยังมีบางข้อเป็น Experiment ทำงานจริงยังไม่ได้ เช่น พวก Grafana SWARM

0. SDcard ที่เคยลง Raspberry Pi มาแล้ว ถ้าจะเขียน Image ทับด้วยโปรแกรม Win32 Disk Imager ให้ลบ Partition เดิมสอง Partition ออก สร้าง Partition ใหม่เต็มขนาด SDcard แล้ว Format เป็น FAT32 และตั้ง Active ซึ่งจะเหมือน SDcard ใหม่จาก โรงงาน สามารถทำได้ด้วยโปรแกรม

เพื่อให้เป็นไปตามข้อกำหนดของ กสทช. การทำอุปกรณ์โดยไม่ต้องขอใบอนุญาติจะต้องกำหนดกำลังส่งออกอากาศไม่เกิน 50mW (eirp)

อุปกรณ์ที่ใช้
1.Heltec ESP32 Wifi LoRa Oled V.2 ราคาประมาณ 800 บาท ให้เลือก บอร์ด Heltec ESP32 ที่มี Chip SX1276 ซึ่งรองรับความถี่ 868Mhz , 915Mhz รวมถึงความถี่ 923Mhz ซึ่งอนุญาติให้ใช้ในประเทศไทย (ไม่ใช่รุ่นที่ราคาถูกกว่าที่ใช้ Chip SX1278 ซึ่งจะทำงานที่ความถี่ต่ำกว่าคือที่ 433 Mhz)
2.Sensor วัดอุณหภูมิ ความชื้นและความดันบรรยากาศ รุ่น BME280 ราคาประมาณ 120 บาท
3.Breadboard แบบสั้น ราคาประมาณ 60 บาท
4.สาย Jumper Dupont ผู้-ผู้…

Somsak Lima

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

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store