ทดลองใช้ Heltec Wireless Stick
เนื่องจากได้ซื้อบอร์ด Heltec Wireless Stick ซึ่งเป็นบอร์ดที่มีความสามารถในการสื่อสารทั้งแบบ Lora, Wifi และ BLE มา 2 บอร์ด ด้วยว่าจะทดลองส่งข้อมูลในแบบ Lora ดูว่าได้ไกลซักแค่ไหน โดยบอร์ดนี้จะเป็น Lora ที่ใช้คลื่น 868 MHz โดยหน้าตาก็เป็นไปตามรูปข้างล่างนี้
ถ้าซื้อมาจะได้เฉพาะบอร์ด ไม่มีเสาอากาศมาให้นะครับ
- บอร์ดนี้จะใช้ MCU เป็น ESP32 และใช้ชิป LoRa node เบอร์ SX1276/SX1278
- สามารถต่อกับ Micro USB เพื่อดาวน์โหลดโปรแกรมได้เลย ใช้ไอซีเบอร์ CP2102
- ผู้ผลิตบอกว่ามีวงจรกันการลัดวงจรให้ด้วย
- ตัวบอร์ดจะครอบทับด้วย Shield เพื่อป้องกันสัญญาณรบกวน
- บนบอร์ดจะมีขั้วต่อแบตเตอรีแบบ SH1.25–2 ให้ด้วย พร้อมวงจรชาร์จในตัว
- บนบอร์ดจะมีเสาอากาศแบบ 3D ให้มาในตัว และสามารถต่อเสานอกผ่านขั้วต่อแบบ U.FL ได้
- มีจอ OLED ขนาด 0.49 นิ้ว 64*32 จุดมาให้ 1 จอ
- มี GPIO ให้ต่อใช้งานได้ 29 ขา
ติดตั้ง Board
ในการทดสอบจะใช้ Arduino IDE ก่อนอื่นก็ต้องติดตั้ง Board Manager เสียก่อน โดยให้เปิดที่ File -> Preference -> Settings ในช่อง Additional Board Manager URLs แล้วป้อน https://docs.heltec.cn/download/package_heltec_esp32_index.json ตามรูป
จากนั้นไปที่ Tools -> Board: -> Board manager… และป้อน Heltec ESP32 เมื่อพบบอร์ด ให้กด Install
ติดตั้ง Library
จากนั้นมาติดตั้ง Library กัน โดยไปที่ Sketch->Include Library->Manage Libraries… จากนั้นค้นหา Heltec ESP32 และ Install
ทดสอบ
ก่อนอื่นก็เลือกบอร์ดให้ถูกต้อง เช่น ผมใช้ Wireless Stick ก็เลือกเป็น Heltec Wireless Stick และเลือก Com Port ให้ถูกต้อง
คราวนี้มาดูว่าเขามีตัวอย่างโปรแกรมอะไรมาให้บ้าง ก็ไปที่ File -> Examples -> Heltec ESP32 Dev-Boards จะมีไฟล์ตัวอย่างเยอะเลย ผมจะยกมาบางไฟล์เท่านั้น
- OLED -> SSD1306DrawingDemo เนื่องจากการควบคุมจอ OLED ใช้ชิป SSD1306 ดังนั้นถ้าใครเคยใช้ Library SSD1306 ก็สามารถใช้งานได้เลย สำหรับโปรแกรมนี้จะแสดงการวาดเส้นแบบต่างๆ วาดสี่เหลี่ยม วงกลม และแสดงตัวอักษร
- OLED -> SSD1306UiDemo เป็นตัวอย่างการแสดงกราฟิก
- LoRa -> OLED_Lora_Sender เป็นโปรแกรมส่งข้อมูลผ่าน Lora และแสดงผลผ่าน OLED
- LoRa -> OLED_Lora_Receiver เป็นโปรแกรมรับข้อมูลผ่าน Lora และแสดงผลผ่าน OLED
- Factory_Test -> Wireless_Stick_FactoryTest เป็นโปรแกรมทดสอบการทำงาน โดยจะเริ่มจาก Connect WiFi (ต้องแก้ Code ในส่วนของ ชื่อและรหัสผ่านของ WiFi) จากนั้นก็ทดสอบส่ง Packet ผ่าน Lora
จากผลการทดสอบ เหมือนกับโปรแกรม OLED_Lora_Receiver จะทำงานไม่ได้ ผมจึงใช้โปรแกรม Wireless_Stick_FactoryTest ทดสอบ ซึ่งผลการทดสอบโดยไม่ได้ใช้เสา ได้ประมาณไม่เกิน 10 เมตร (ถ้าค่า RSSI ประมาณ -130) ก็จะติดต่อกันไม่ได้แล้ว น่าเสียดายที่ผมไม่มีเสา จึงไม่ได้ทดสอบตอนที่ใส่เสาแล้ว
ก็ขอสรุปว่า บอร์ดสวยดี ส่วนของ Code ที่ให้มา ยังไม่ดีซักเท่าไร การทำงานสามารถใช้งานได้ แต่ต้องมีเสาด้วย