นี่คือสะพานโปร่งใสที่บริสุทธิ์ระหว่าง WiFi และ Serial โดยใช้อุปกรณ์ ESP8266 ใด ๆ สำหรับโมดูล RN2483 Lorawan มันมีประโยชน์มากสำหรับการทดสอบหรือพูดคุยกับอุปกรณ์อนุกรมระยะไกลเช่น RN2483 ที่ไม่มีการเชื่อมต่อเครือข่าย มันทุ่มเทให้กับ Wemos RN2483 Shield และฉันใช้มันกับแบ็กเอนด์ Lorawan Network Things แต่คุณสามารถใช้ผู้ให้บริการรายอื่นได้
ฉันใช้มันกับ Wemos Target คุณสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับ WEMOS ในเว็บไซต์ของพวกเขามันเป็นเอกสารที่ดีจริงๆ
โครงการนี้ส่วนใหญ่ขึ้นอยู่กับห้องสมุด @me-no-dev espasyncwebserver ที่ยอดเยี่ยมและเทอร์มินัล jQuery ที่ยอดเยี่ยมทำโดย Jakub Jankiewicz
เมื่ออัปโหลดข้อมูล Spiffs (หน้าเว็บ) คุณสามารถเชื่อมต่อกับเบราว์เซอร์ไปยัง http://ip_of_esp8266 และเริ่มเล่นกับมัน เว็บเพจ Main index.htm รวมเทอร์มินัล JavaScript แบบเต็มเพื่อให้คุณสามารถพิมพ์คำสั่งและรับการตอบกลับ
หน้าเว็บหลักยังสามารถโฮสต์ได้ทุกที่และไม่จำเป็นต้องมีอยู่ในอุปกรณ์ (ยกเว้นหากอุปกรณ์และคอมพิวเตอร์ของคุณไม่สามารถเข้าถึงอินเทอร์เน็ตได้) ฉันได้เผยแพร่หน้าเว็บ FonctionNal เต็มรูปแบบจาก GitHub เพื่อให้คุณสามารถเข้าถึงได้จากที่นี่จากนั้นเชื่อมต่อกับอุปกรณ์ของคุณบน wich คุณแฟลชเฟิร์มแวร์
คำสั่งบางคำจะถูกตีความโดยเป้าหมาย (ESP8266) และไม่ผ่านไปยังอนุกรมดังนั้นคุณสามารถโต้ตอบกับ ESP8266 ทำสิ่งที่แปรผัน
การตั้งค่าครั้งแรก (สมมติว่าคุณใช้ RN2483 Shield)
connect เพื่อเชื่อมต่อกับอุปกรณ์ท้องถิ่นการตรวจสอบที่เชื่อมต่อหนึ่งรายการทั้งหมดคือการพิมพ์ที่ดีsys get ver => ควรกลับมาบางครั้งเช่น RN2483 1.0.1 Dec 15 2015 09:38:09reset 12 และลองอีกครั้งจนกว่าจะถึงแบนเนอร์mac set appeui YOUR_APP_EUImac set appkey YOUR_APP_KEYmac set deveui YOUR_DEV_EUImac savemac join otaa จากนั้นรอ ok และ accepted แล้วคุณก็เข้ามา!
ปุ่มกด (กดยาวสำหรับพฤติกรรมที่แตกต่างกัน)
PS: หากคุณต้องการฮาร์ดแวร์ก็โอเคให้ใช้ Sketch check-rn2483 ที่ง่ายขึ้น
คุณต้องมี nodejs และการพึ่งพาบางอย่างที่ติดตั้ง npm install zlib
โฟลเดอร์ WebDev เป็นโฟลเดอร์การพัฒนาเพื่อทดสอบและตรวจสอบหน้าเว็บ ใช้เพื่อหลีกเลี่ยงการกระพริบอุปกรณ์ในการปรับเปลี่ยนแต่ละครั้ง ไฟล์ต้นฉบับทั้งหมดอยู่ในโฟลเดอร์นี้โฟลเดอร์ data ESP8266 (ที่มีหน้าเว็บ) เต็มไปด้วยสคริปต์ NodeJS ที่เปิดตัวจากโฟลเดอร์ WebDev repo นี้มีอยู่ในไฟล์ข้อมูลล่าสุดดังนั้นหากคุณไม่เปลี่ยนไฟล์ใด ๆ คุณสามารถอัปโหลดไปยัง Spiffs ตามที่เป็นอยู่
หากต้องการทดสอบหน้าเว็บให้ไปที่บรรทัดคำสั่งไปที่โฟลเดอร์ WebDev และออก A:
node web_server.js
จากนั้นเชื่อมต่อเบราว์เซอร์ของคุณกับ htpp: // localhost: 8080 คุณสามารถ modidy และทดสอบไฟล์แหล่งที่มาเช่น index.htm
เมื่อทั้งหมดก็โอเคปัญหา A:
node create_spiffs.js
สิ่งนี้จะเป็นไฟล์ gzip และใส่ลงในโฟลเดอร์ข้อมูลหลังจากนั้นคุณสามารถอัปโหลดจาก Arduino IDE ไปยังอุปกรณ์ Spiffs
ดูความคิดเห็นในไฟล์ create_spiffs.js และ web_server.js มันยังระบุการอ้างอิงที่จำเป็นโดย NodeJS
นอกจากนี้คุณยังสามารถแก้ไขไฟล์โดยตรงจากอุปกรณ์ด้วยตัวแก้ไขในตัวซึ่งเป็นประโยชน์มากในการเปลี่ยนไฟล์การกำหนดค่าเช่น http: //your_device_ip/edit.htm พร้อม Login Pass (Admin/Admin)
!close หรือ ctrl-d: การเชื่อมต่ออย่างใกล้ชิดswap SWAP ESP8266 PIN UART ระหว่าง GPIO1/GPIO3 กับ GPIO15/GPIO13ping ping บนเทอร์มินัลและ esp8266 จะส่งคืนปิงปอง? หรือ help แสดงความช่วยเหลือheap Show esp8266 RAM ฟรีwhoami แสดงไคลเอนต์ WebSocket # เราเป็นwho แสดงลูกค้าทั้งหมดของ WebSocket ที่เชื่อมต่อsend second ในแต่ละวินาที (0 = ปิดการใช้งานส่ง)fw แสดงวันที่/เวลาของเฟิร์มแวร์baud Display ESP8266 อัตราการรับส่งข้อมูลแบบอนุกรมbaud n set esp8266 อัตราการรับส่งข้อมูลแบบอนุกรมเป็น n (เพื่อรวมเข้ากับอุปกรณ์ขับเคลื่อน)rgb l SET RGB LED LUMINOSES L (0..100)reset p รีเซ็ตหมายเลขพิน gpio pls รายการ spiffsread file สั่ง File Execute SPIFFShostname แสดงเครือข่ายโฮสต์ของอุปกรณ์restart รีเซ็ต ESP8266 (รีบูต)debug แสดงข้อมูลการดีบักcat file Display Content ของไฟล์up type ข้อความอัปลิงค์ (พิมพ์ 0 = ประเภทที่ไม่ได้รับการยืนยัน 1 = ยืนยัน) ทุกคำสั่งในไฟล์ startup.ini จะดำเนินการใน setup() คุณสามารถใช้กับไฟล์อื่น ๆ ได้
ฉันใช้ร่างนี้เพื่อขับเคลื่อน Microchip RN2483 โมดูล Lora เพื่อทดสอบ Lorawan ดูบอร์ดที่ฉันใช้
ตัวอย่างเช่นไฟล์ startup.ini ของฉันมีคำสั่งให้อ่าน microchip rn2483 ไฟล์ config ชื่อ rn2483-cfg.txt จากนั้นเชนเพื่อเข้าร่วม OTAA กับไฟล์ rn2483-ttn-otaa.txt
startup.ini
# Startup config file executed once in setup()
# commands prefixed by ! are executed by ESP
# all others passed to serial module
# Set Onboard RGB LED luminosity (0=off 100=full light)
! rgb 50
# Microchip Lora rn2483 configuration
! read /rn2483-cfg.txt
# Join ttn in otaa mode
! read /rn2483-ttn-otaa.txt
ตัวอย่างไฟล์กำหนดค่า RN2483 สำหรับ RN2483 Shield rn2483-cfg.txt
# Startup config file for Microchip RN2483
# commands prefixed by ! or $ are executed by ESP all others passed to serial module
# command starting with $ wait until device return n
# RN2483 always return string followed by "rn" on each command (ex "okrn")
# so $ wait a response (good or not) before sending next command
# !delay or any $ are not executed when connected via browser web terminal (websocket)
# See schematics here https://github.com/hallard/WeMos-RN2483
# Set ESP Module serial speed (RN2483 is 57600)
# as reminder, it's now done in sketch
# !baud 57600
# !delay 50
# For Hardware boards V1.1+
# -------------------------
# reset RN2483 module
$reset 12
# !baud 57600
# !delay 50
# Wired GPIO to output
$sys set pinmode GPIO1 digout
$sys set pinmode GPIO10 digout
# Light on the LED on all GPIO
$sys set pindig GPIO1 1
$sys set pindig GPIO10 1
# Custom config here
# ------------------
# Set Power Max
$radio set pwr 14 RN2483 เข้าร่วม TTN OTAA ตัวอย่างไฟล์การกำหนดค่าสำหรับ RN2483 Shield rn2483-otaa.txt
# Startup config file for Microchip RN2483 join TTN in otaa
# commands prefixed by ! or $ are executed by ESP all others passed to serial module (RN2483)
# command starting with $ wait until device return n
# RN2483 always return string followed by "rn" on each command (ex "okrn")
# so $ wait a response (good or not) before sending next command
# !delay or any $ are not executed when connected via browser web terminal (websocket)
# See schematics here https://github.com/hallard/WeMos-RN2483
# Your device should have been registered on TTN before using, here is how to
# On the RN2483, use `sys get hweui` and `mac get deveui`
# you then get the devices hweui & deveui, They are probably the same
# then register device on TTN console dashboard
# Then you must setup your keys (obtained from TTN console dashboard)
# Personnaly I prefer setup the 3 fixed values in TTN dashboard
# then put them into the RN2483 module
# then on RN2483 device (1st setup, then don't need to be set again)
# $mac set appeui YOUR_APP_EUI
# $mac set appkey YOUR_APP_KEY
# $mac set deveui YOUR_DEV_EUI
# and saved with `mac save`
# $mac save
# Then Join TTN Network
$mac join otaa ดูทั้งหมดในการดำเนินการ
http://cdn.rawgit.com/hallard/wemos-rn2483-firmware/master/wemos-rn2483/webdev/index.htm
โดยวิธีที่ฉันรวมตัวแก้ไขเว็บ @me-no-dev ที่ยอดเยี่ยมเพื่อให้คุณสามารถแก้ไขไฟล์การกำหนดค่าของ spiffs ไปที่ http://your_module_ip/edit คอมพิวเตอร์ของคุณจะต้องเชื่อมต่อกับอินเทอร์เน็ต (อาจเป็นอุปกรณ์ ESP8266 ของคุณ)
หากคุณเพิ่มคุณสมบัติบางอย่างอย่าลังเลที่จะทำคำขอดึงเพื่อให้ฉันสามารถรวมการเปลี่ยนแปลงของคุณได้
ดูข่าวและโครงการอื่น ๆ ในบล็อกของฉัน