

นี่คือตัวอย่างของตัวสร้างคุณต้องผ่านอินเทอร์เฟซ UART และ (ถ้าคุณต้องการ แต่มีการแนะนำ) พิน aux, m0 และ m1
ในการติดตั้งไลบรารีดำเนินการคำสั่งต่อไปนี้:
pip install ebyte-lora-e22 from lora_e22 import LoRaE22
from machine import UART
uart2 = UART ( 2 )
lora = LoRaE22 ( '400T22D' , uart2 , aux_pin = 15 , m0_pin = 21 , m1_pin = 19 ) code = lora . begin ()
print ( "Initialization: {}" , ResponseStatusCode . get_description ( code )) from lora_e22 import LoRaE22 , print_configuration
from lora_e22_operation_constant import ResponseStatusCode
code , configuration = lora . get_configuration ()
print ( "Retrieve configuration: {}" , ResponseStatusCode . get_description ( code ))
print_configuration ( configuration )ผล
# ----------------------------------------
# HEAD : 0xc1 0x0 0x9
#
# AddH : 0x0
# AddL : 0x0
#
# Chan : 23 -> 433
#
# SpeedParityBit : 0b0 -> 8N1 (Default)
# SpeedUARTDatte : 0b11 -> 9600bps (default)
# SpeedAirDataRate : 0b10 -> 2.4kbps (default)
#
# OptionSubPacketSett: 0b0 -> 240bytes (default)
# OptionTranPower : 0b0 -> 22dBm (Default)
# OptionRSSIAmbientNo: 0b0 -> Disabled (default)
#
# TransModeWORPeriod : 0b11 -> 2000ms (default)
# TransModeTransContr: 0b0 -> WOR Receiver (default)
# TransModeEnableLBT : 0b0 -> Disabled (default)
# TransModeEnableRSSI: 0b0 -> Disabled (default)
# TransModeEnabRepeat: 0b0 -> Disabled (default)
# TransModeFixedTrans: 0b0 -> Transparent transmission (default)
# ----------------------------------------
คุณสามารถตั้งค่าเฉพาะพารามิเตอร์ที่ Desidered และอื่น ๆ จะถูกตั้งค่าเป็นค่าเริ่มต้น
configuration_to_set = Configuration ( '400T22D' )
configuration_to_set . ADDL = 0x02
configuration_to_set . ADDH = 0x01
configuration_to_set . CHAN = 23
configuration_to_set . NETID = 0
configuration_to_set . SPED . airDataRate = AirDataRate . AIR_DATA_RATE_100_96
configuration_to_set . SPED . uartParity = UARTParity . MODE_00_8N1
configuration_to_set . SPED . uartBaudRate = UARTBaudRate . BPS_9600
configuration_to_set . OPTION . subPacketSetting = SubPacketSetting . SPS_064_10
configuration_to_set . OPTION . transmissionPower = TransmissionPower ( '400T22D' ).
get_transmission_power (). POWER_10
# or
# configuration_to_set.OPTION.transmissionPower = TransmissionPower22.POWER_10
configuration_to_set . OPTION . RSSIAmbientNoise = RssiAmbientNoiseEnable . RSSI_AMBIENT_NOISE_ENABLED
configuration_to_set . TRANSMISSION_MODE . WORTransceiverControl = WorTransceiverControl . WOR_TRANSMITTER
configuration_to_set . TRANSMISSION_MODE . enableLBT = LbtEnableByte . LBT_DISABLED
configuration_to_set . TRANSMISSION_MODE . enableRSSI = RssiEnableByte . RSSI_ENABLED
configuration_to_set . TRANSMISSION_MODE . enableRepeater = RepeaterModeEnableByte . REPEATER_DISABLED
configuration_to_set . TRANSMISSION_MODE . fixedTransmission = FixedTransmission . FIXED_TRANSMISSION
configuration_to_set . TRANSMISSION_MODE . WORPeriod = WorPeriod . WOR_1500_010
configuration_to_set . CRYPT . CRYPT_H = 1
configuration_to_set . CRYPT . CRYPT_L = 1
# Set the new configuration on the LoRa module and print the updated configuration to the console
code , confSetted = lora . set_configuration ( configuration_to_set )ฉันสร้างคลาสค่าคงที่สำหรับแต่ละพารามิเตอร์ที่นี่รายการ: AirDatarate, UARTBAUDRATE, UARTPARITY, TransmissionPower, ForwardErrorCorrectionswitch, WirelessWakeuptime, iodriveMode
นี่คือตัวอย่างของการส่งข้อมูลคุณสามารถผ่านสตริงได้
lora . send_transparent_message ( 'pippo' ) lora . send_fixed_message ( 0 , 2 , 23 , 'pippo' )ที่นี่รหัสผู้รับ
while True :
if lora . available () > 0 :
code , value = lora . receive_message ()
print ( ResponseStatusCode . get_description ( code ))
print ( value )
utime . sleep_ms ( 2000 )หากคุณต้องการรับ RSSI คุณต้องเปิดใช้งานในการกำหนดค่า
configuration_to_set . TRANSMISSION_MODE . enableRSSI = RssiEnableByte . RSSI_ENABLEDและตั้งค่าสถานะเป็นจริงในวิธีการรับ _message
code , value , rssi = lora . receive_message ( True )ผลลัพธ์
Success!
pippo
นี่คือตัวอย่างของข้อมูลการส่งคุณสามารถผ่านพจนานุกรม
lora . send_transparent_dict ({ 'pippo' : 'fixed' , 'pippo2' : 'fixed2' }) lora . send_fixed_dict ( 0 , 0x01 , 23 , { 'pippo' : 'fixed' , 'pippo2' : 'fixed2' })ที่นี่รหัสผู้รับ
while True :
if lora . available () > 0 :
code , value = lora . receive_dict ()
print ( ResponseStatusCode . get_description ( code ))
print ( value )
print ( value [ 'pippo' ])
utime . sleep_ms ( 2000 )หากคุณต้องการรับ RSSI คุณต้องเปิดใช้งานในการกำหนดค่า
configuration_to_set . TRANSMISSION_MODE . enableRSSI = RssiEnableByte . RSSI_ENABLEDและตั้งค่าสถานะเป็นจริงในวิธีการรับ _dict
code , value , rssi = lora . receive_dict ( True )ผลลัพธ์
Success!
{'pippo': 'fixed', 'pippo2': 'fixed2'}
fixed
https://downloads.arduino.cc/libraries/logs/github.com/xreef/ebyte_lora_e22_series_library/
คุณสามารถสั่งซื้อ PCB ได้ที่นี่
วิดีโอคำแนะนำและแอสเซมบลีใน 6 ส่วนของคู่มือ
คุณสามารถสั่งซื้อ PCB ได้ที่นี่
วิดีโอคำแนะนำและแอสเซมบลีใน 6 ส่วนของคู่มือ
ฉันสร้างไลบรารีเพื่อจัดการอุปกรณ์ EBYTE E22 ของอุปกรณ์ LORA, อุปกรณ์ที่ทรงพลังมาก, อุปกรณ์ที่เรียบง่ายและราคาถูก
LORA หรือ Telemetry ข้อมูลไร้สายระยะยาวเป็นเทคโนโลยีที่บุกเบิกโดย Semtech ที่ทำงานที่ความถี่ต่ำกว่า NRF24L01 (433 MHz, 868 MHz หรือ 916 MHz อีกครั้ง 2.4 GHz สำหรับ NRF24L01)
Lora E22
คุณสามารถค้นหาได้ที่นี่ Aliexpress (433MHz 4km) - Aliexpress (433MHz 10km)
โปรดดูบทความของฉันเพื่อรับสคีมาอัปเดต
คุณสามารถค้นหาห้องสมุดของฉันได้ที่นี่
เพื่อดาวน์โหลด
คลิกปุ่มดาวน์โหลดที่มุมขวาบนเปลี่ยนชื่อโฟลเดอร์ที่ไม่บีบอัด LORA_E22
ตรวจสอบว่าโฟลเดอร์ LORA_E22 มี LORA_E22.CPP และ LORA_E22.H
วางโฟลเดอร์ LORA_E22 ห้องสมุดของคุณ / ไลบรารี / โฟลเดอร์
คุณอาจต้องสร้างโฟลเดอร์ย่อยของไลบรารีหากเป็นห้องสมุดแรกของคุณ
รีสตาร์ท IDE
E22
| หมายเลขพิน | รายการพิน | ทิศทางพิน | แอปพลิเคชัน PIN |
|---|---|---|---|
| 1 | M0 | อินพุต (pull-up อ่อนแอ) | ทำงานกับ M1 และตัดสินใจเลือกโหมดการทำงานทั้งสี่ไม่อนุญาตให้มีการศึกษา |
| 2 | M1 | อินพุต (pull-up อ่อนแอ) | ทำงานกับ M0 และตัดสินใจเลือกโหมดการทำงานทั้งสี่ไม่อนุญาตให้มีการศึกษาแบบ floating |
| 3 | RXD | ป้อนข้อมูล | อินพุต TTL UART เชื่อมต่อกับภายนอก (MCU, PC) TXD outputpin สามารถกำหนดค่าเป็นแบบเปิดหรืออินพุตแบบดึงขึ้น |
| 4 | TXD | เอาท์พุท | เอาต์พุต TTL UART เชื่อมต่อกับ RXD ภายนอก (MCU, PC) InputPin สามารถกำหนดค่าเป็น Open-Drain หรือ Push-Pull Output |
5 | ออกมา | เอาท์พุท | ต่อ indicare lo stato di funzionamento del modulo e riattivare l'cu esterno Durante la procedura di inizializzazione di autocontrollo, il pin emette una bassa tensione può Essere configurato มา uscita open-drain o เอาท์พุท push-pull (èความยินยอมที่ไม่ใช่ metterlo a terra, ma se hai ปัญหา, โฆษณา esempio ti si freeze il dispositivo è priternibile mettere una restenza di pull-ligo meglo meglo |
| 6 | VCC | แหล่งจ่ายไฟ 2.3V ~ 5.5V DC | |
| 7 | gnd | พื้น |
อย่างที่คุณเห็นคุณสามารถตั้งค่าโหมดต่าง ๆ ผ่านหมุด M0 และ M1
| โหมด | M1 | M0 | คำอธิบาย |
|---|---|---|---|
| ปกติ | 0 | 0 | ช่อง UART และ Wireless เปิดใช้งานการส่งข้อมูลแบบโปร่งใสเปิดอยู่ (รองรับการกำหนดค่าเหนืออากาศผ่านคำสั่งพิเศษ) |
| โหมด WOR | 0 | 1 | สามารถนิยามได้ว่าเป็นเครื่องส่งสัญญาณและเครื่องรับสัญญาณ |
| โหมดกำหนดค่า | 1 | 0 | ผู้ใช้สามารถเข้าถึงการลงทะเบียนผ่านพอร์ตอนุกรมเพื่อควบคุมสถานะการทำงานของโมดูล |
| โหมดสลีปลึก | 1 | 1 | โหมดสลีป |
อย่างที่คุณเห็นมีหมุดบางตัวที่สามารถใช้งานได้อย่างต่อเนื่อง แต่ถ้าคุณเชื่อมต่อกับไลบรารีที่คุณได้รับจากประสิทธิภาพและคุณสามารถควบคุมโหมดทั้งหมดผ่านซอฟต์แวร์ได้ แต่เราจะอธิบายได้ดีขึ้นต่อไป
อย่างที่ฉันบอกไปแล้วว่ามันไม่สำคัญที่จะเชื่อมต่อ PIN ทั้งหมดกับเอาท์พุทของไมโครคอนโทรลเลอร์คุณสามารถใส่หมุด M0 และ M1 ให้สูงหรือต่ำเพื่อรับการกำหนดค่าที่ต้องการและ หากคุณไม่เชื่อมต่อ AUX ห้องสมุดตั้งค่าความล่าช้าที่สมเหตุสมผลเพื่อให้แน่ใจว่าการดำเนินการเสร็จสมบูรณ์
เมื่อส่งข้อมูลสามารถใช้เพื่อปลุก MCU ภายนอกและส่งคืนการถ่ายโอนข้อมูลที่สูง
lora e22 aux pin ในการส่งสัญญาณ
เมื่อได้รับ aux จะลดลงและกลับสูงเมื่อบัฟเฟอร์ว่างเปล่า
lora e22 aux pin บนแผนกต้อนรับ
นอกจากนี้ยังใช้สำหรับการตรวจสอบตนเองเพื่อกู้คืนการทำงานปกติ (ในโหมด Power-On และ Sleep/Program)
lora e22 aux pin ในการตรวจสอบตนเอง
SCHEMA การเชื่อมต่อ ESP8266 นั้นง่ายกว่าเพราะมันทำงานได้ที่แรงดันไฟฟ้าเดียวกันของการสื่อสารเชิงตรรกะ (3.3V)
Lora E22 TTL 100 WEMOS D1 เชื่อมต่ออย่างเต็มที่
สิ่งสำคัญคือการเพิ่มตัวต้านทานแบบดึงขึ้น (4,7kohm) เพื่อให้ได้ความมั่นคงที่ดี
| E22 | esp8266 |
|---|---|
| M0 | D7 |
| M1 | D6 |
| TX | PIN D2 (pullup 4,7kΩ) |
| RX | PIN D3 (pullup 4,7kΩ) |
| ออกมา | PIN D5 (pullup 4,7kΩ) |
| VCC | 5V (แต่ทำงานด้วยพลังงานน้อยลงใน 3.3V) |
| gnd | gnd |
สคีมาการเชื่อมต่อที่คล้ายกันสำหรับ ESP32 แต่สำหรับ RX และ TX เราใช้ RX2 และ TX2 เพราะโดยค่าเริ่มต้น ESP32 ไม่มีซอฟต์เวอเรเนียล แต่มี 3 อนุกรม
EBYTE LORA E22 อุปกรณ์ ESP32 Dev Kit V1 Breadboard การเชื่อมต่อเต็มรูปแบบ
| E22 | esp32 |
|---|---|
| M0 | D21 |
| M1 | D19 |
| TX | PIN RX2 (pullup 4,7kΩ) |
| RX | PIN TX3 (pullup 4,7kΩ) |
| ออกมา | PIN D18 (pullup 4,7kΩ) |
| VCC | 5V (แต่ทำงานด้วยพลังงานน้อยลงใน 3.3V) |
| gnd | gnd |
| การติดอันดับ | ไบต์ที่อยู่สูงของโมดูล (ค่าเริ่มต้น 00H) | 00H-FFH |
| addl | ไบต์ที่อยู่ต่ำของโมดูล (ค่าเริ่มต้น 00H) | 00H-FFH |
| ที่เร่งความเร็ว | ข้อมูลเกี่ยวกับอัตราความเท่าเทียมกันของอัตราข้อมูลและอัตราข้อมูลอากาศ | |
| ชาน | ช่องทางการสื่อสาร (410M + Chan*1M), ค่าเริ่มต้น 17H (433MHz), ใช้ได้เฉพาะสำหรับอุปกรณ์ 433MHz Chek ด้านล่างเพื่อตรวจสอบความถี่ที่ถูกต้องของอุปกรณ์ของคุณ | 00H-1FH |
| ตัวเลือก | ประเภทของการส่งขนาดแพ็คเก็ตอนุญาตข้อความพิเศษ | |
| transmission_mode | พารามิเตอร์จำนวนมากที่ระบุรูปแบบการส่งสัญญาณ |
ตัวเลือก
ประเภทของการส่งการตั้งค่าแบบดึงขึ้นเวลาปลุก FEC กำลังส่งกำลัง
UART PARITY BIT: โหมด UART อาจแตกต่างกันระหว่างฝ่ายสื่อสาร
| 4 | 3 | UART PARITY BIT | ค่าคงที่ |
| 0 | 0 | 8N1 (ค่าเริ่มต้น) | mode_00_8n1 |
| 0 | 1 | 8o1 | mode_01_8o1 |
| 1 | 0 | 8 E1 | mode_10_8e1 |
| 1 | 1 | 8N1 (เท่ากับ 00) | mode_11_8n1 |
UART Baud Rate: UART Baud Rate สามารถแตกต่างกันระหว่างฝ่ายสื่อสารอัตรา UART Baud ไม่มีส่วนเกี่ยวข้องกับพารามิเตอร์การส่งไร้สายและจะไม่ส่งผลกระทบต่อคุณสมบัติการส่ง / รับแบบไร้สาย
| 7 | 6 | 5 | TTL UART BAUD RATE (BPS) | ค่าคงที่ |
| 0 | 0 | 0 | 1200 | uart_bps_1200 |
| 0 | 0 | 1 | 2400 | uart_bps_2400 |
| 0 | 1 | 0 | 4800 | uart_bps_4800 |
| 0 | 1 | 1 | 9600 (ค่าเริ่มต้น) | uart_bps_9600 |
| 1 | 0 | 0 | 2463 | uart_bps_19200 |
| 1 | 0 | 1 | 38400 | uart_bps_38400 |
| 1 | 1 | 0 | 57600 | uart_bps_57600 |
| 1 | 1 | 1 | 115200 | uart_bps_115200 |
อัตราข้อมูลอากาศ: ยิ่งอัตราข้อมูลอากาศลดลงเท่าไหร่ระยะการส่งสัญญาณที่ยาวนานขึ้นประสิทธิภาพการต่อต้านการรบกวนที่ดีขึ้นและเวลาในการส่งสัญญาณที่ยาวนานขึ้นอัตราข้อมูลอากาศจะต้องรักษาเหมือนกันสำหรับทั้งสองฝ่ายสื่อสาร
| 2 | 1 | 0 | อัตราข้อมูลอากาศ (BPS) | ค่าคงที่ |
| 0 | 0 | 0 | 0.3K | air_data_rate_000_03 |
| 0 | 0 | 1 | 1.2K | air_data_rate_001_12 |
| 0 | 1 | 0 | 2.4K (ค่าเริ่มต้น) | air_data_rate_010_24 |
| 0 | 1 | 1 | 4.8K | air_data_rate_011_48 |
| 1 | 0 | 0 | 9.6K | air_data_rate_100_96 |
| 1 | 0 | 1 | 19.2K | air_data_rate_101_192 |
| 1 | 1 | 0 | 38.4K | air_data_rate_110_384 |
| 1 | 1 | 1 | 62.5K | air_data_rate_111_625 |
การตั้งค่าแพ็คเก็ตย่อย ####
นี่คือความยาวสูงสุดของแพ็คเก็ต
เมื่อข้อมูลมีขนาดเล็กกว่าความยาวแพ็คเก็ตย่อยเอาต์พุตอนุกรมของปลายรับจะเป็นเอาต์พุตอย่างต่อเนื่องอย่างต่อเนื่อง เมื่อข้อมูลมีขนาดใหญ่กว่าความยาวแพ็กเก็ตย่อยพอร์ตอนุกรมที่ได้รับจะส่งออกแพ็คเก็ตย่อย
| 7 | 6 | ขนาดแพ็คเก็ต | ค่าคงที่ |
| 0 | 0 | 240BYTES (ค่าเริ่มต้น) | SPS_240_00 |
| 0 | 1 | 128BYTES | SPS_128_01 |
| 1 | 0 | 64bytes | SPS_064_10 |
| 1 | 1 | 32bytes | SPS_032_11 |
เปิดใช้งานเสียงรบกวนรอบข้าง #### RSSI
คำสั่งนี้สามารถเปิด/ปิดใช้งานประเภทการจัดการของ RSSI เป็นสิ่งสำคัญในการจัดการการกำหนดค่าระยะไกลการให้ความสนใจไม่ใช่พารามิเตอร์ RSSI ในข้อความ
เมื่อเปิดใช้งานคำสั่ง C0 C1 C2 C3 สามารถส่งได้ในโหมดการส่งสัญญาณหรือโหมดการส่งสัญญาณ WOR เพื่ออ่านการลงทะเบียน ลงทะเบียน 0x00: เสียงรบกวนรอบข้าง RSSI ลงทะเบียน 0x01: RSSI เมื่อได้รับข้อมูลครั้งล่าสุด
| 5 | เปิดเสียงรบกวนรอบข้าง RSSI | ค่าคงที่ |
| 0 | เปิดใช้งาน | rssi_ambient_noise_enabled |
| 1 | ปิดการใช้งาน (ค่าเริ่มต้น) | rssi_ambient_noise_disabled |
#### เปิดใช้งาน RSSI
เมื่อเปิดใช้งานโมดูลจะได้รับข้อมูลไร้สายและจะเป็นไปตามไบต์ความแข็งแรงของ RSSI หลังจากเอาต์พุตผ่านพอร์ตอนุกรม TXD
#### ประเภทการส่ง
โหมดการส่งสัญญาณ: ในโหมดการส่งสัญญาณคงที่สามไบต์แรกของเฟรมข้อมูลของผู้ใช้แต่ละคนสามารถใช้เป็นที่อยู่สูง/ต่ำและช่อง โมดูลจะเปลี่ยนที่อยู่และช่องสัญญาณเมื่อส่ง และมันจะเปลี่ยนกลับไปใช้การตั้งค่าดั้งเดิมหลังจากเสร็จสิ้นกระบวนการ
#### เปิดใช้งานฟังก์ชั่น Repeater
#### ตรวจสอบข้อมูลก่อนการส่ง
เมื่อเปิดใช้งานข้อมูลไร้สายจะได้รับการตรวจสอบก่อนที่จะถูกส่งซึ่งสามารถหลีกเลี่ยงการรบกวนในระดับหนึ่ง แต่อาจทำให้ข้อมูลล่าช้า
#### WOR
เครื่องส่งสัญญาณ WOR: ฟังก์ชั่นการรับและส่งโมดูลเปิดใช้งานและเพิ่มรหัสปลุกเมื่อส่งข้อมูล การรับจะเปิดอยู่
ตัวรับสัญญาณ WOR: โมดูลไม่สามารถส่งข้อมูลและทำงานในโหมดการตรวจสอบได้ ระยะเวลาการตรวจสอบมีดังนี้ (วัฏจักร WOR) ซึ่งสามารถประหยัดพลังงานได้มาก
#### วัฏจักร WOR
หาก WOR กำลังส่งสัญญาณ: หลังจากตัวรับสัญญาณ WOR ได้รับข้อมูลไร้สายและส่งออกผ่านพอร์ตอนุกรมมันจะรอ 1,000ms ก่อนที่จะป้อน WOR อีกครั้ง ผู้ใช้สามารถป้อนข้อมูลพอร์ตอนุกรมและส่งคืนผ่านสายไร้สายในช่วงเวลานี้ แต่ละไบต์อนุกรมจะได้รับการรีเฟรชเป็นเวลา 1,000 มม. ผู้ใช้จะต้องส่งไบต์แรกภายใน 1,000ms
ก่อนอื่นเราต้องแนะนำวิธีที่ง่าย แต่มีประโยชน์ในการตรวจสอบว่ามีบางอย่างอยู่ในบัฟเฟอร์รับ
int available ();มันเป็นเพียงการกลับมาจำนวนไบต์ที่คุณมีในสตรีมปัจจุบัน
โหมดการส่งสัญญาณปกติ/โปร่งใสใช้เพื่อส่งข้อความไปยังอุปกรณ์ทั้งหมดที่มีที่อยู่และช่องเดียวกัน
Lora E22 สถานการณ์การส่งสัญญาณเส้นเป็นช่องทาง
การส่งสัญญาณคงที่มีสถานการณ์มากขึ้น
Lora E22 สถานการณ์การส่งสัญญาณเส้นเป็นช่องทาง
ตอนนี้คุณมีข้อมูลทั้งหมดในการทำงานของคุณ แต่ฉันคิดว่ามันสำคัญที่จะต้องแสดงตัวอย่างที่สมจริงเพื่อลดความเป็นไปได้ทั้งหมด
อุปกรณ์ Ebyte Lora E22 สำหรับ Arduino, ESP32 หรือ ESP8266: การตั้งค่าและการใช้งานพื้นฐาน
อุปกรณ์ Ebyte Lora E22 สำหรับ Arduino, ESP32 หรือ ESP8266: Library
อุปกรณ์ Ebyte Lora E22 สำหรับ Arduino, ESP32 หรือ ESP8266: การกำหนดค่า
อุปกรณ์ EBYTE LORA E22 สำหรับ Arduino, ESP32 หรือ ESP8266: การส่งสัญญาณคงที่และ RSSI
อุปกรณ์ Ebyte Lora E22 สำหรับ Arduino, ESP32 หรือ ESP8266: การประหยัดพลังงานและการส่งข้อมูลที่มีโครงสร้าง
อุปกรณ์ Ebyte Lora E22 สำหรับ Arduino, ESP32 หรือ ESP8266: โหมด Repeater และการตั้งค่าระยะไกล
อุปกรณ์ Ebyte Lora E22 สำหรับ Arduino, ESP32 หรือ ESP8266: Microcontroller และ Arduino Shield WOR WOR
อุปกรณ์ Ebyte Lora E22 สำหรับ Arduino, ESP32 หรือ ESP8266: Microcontroller และ WEMOS D1 Shield WOR WOR
อุปกรณ์ Ebyte Lora E22 สำหรับ Arduino, ESP32 หรือ ESP8266: Microcontroller และ ESP32 Dev V1 Shield