โดย เดนิส นูทิอู
เมื่อเร็วๆ นี้ ฉันซื้อ NodeMCU จาก AliExpress ในราคาประมาณ 4 ดอลลาร์ เหตุผลที่ฉันทำสิ่งนี้คือเพื่อค้นหาว่าปัญหาทั้งหมดเกี่ยวกับ ESP8266 คืออะไร
NodeMCU เป็นแพลตฟอร์ม IoT แบบโอเพ่นซอร์ส ประกอบด้วยเฟิร์มแวร์ที่ทำงานบน ESP8266 Wi-Fi SoC จาก Espressif Systems และฮาร์ดแวร์ที่ใช้โมดูล ESP-12
แหล่งที่มา:เอกสารข้อมูล ESP8266 ป>
เมื่อเปรียบเทียบกับ Arduino UNO แล้ว ESP8266 ของฉันทำได้น่าทึ่งมากเมื่อพูดถึงพลังและราคาของ CPU
ESP8266 เร็วขึ้น 500% และราคาถูกกว่า Arduino ถึง 82% ESP8266 มีการเชื่อมต่อ WiFi ด้วย
ฉันประหลาดใจมากเมื่อเยี่ยมชมเว็บไซต์ Espressif สำหรับ ESP8266 มีเอกสารและทรัพยากรมากมายที่คุณสามารถใช้ได้ ตัวอย่างเช่น มีแอปพลิเคชัน Android ที่บอกให้ ESP8266 ของคุณเชื่อมต่อกับ WiFi ของคุณ แอปจะส่ง SSID และรหัสผ่านเป็นแพ็กเก็ต จากนั้น ESP8266 จะดมกลิ่น จากนั้นจะเชื่อมต่อกับ WiFi ของคุณ สิ่งนี้เรียกว่า SmartConfig และคิดค้นโดย Texas Instruments
ในบทความนี้ ฉันจะแนะนำให้คุณตั้งค่าและเรียกใช้ตัวอย่าง Smart Config จาก Espressif RTOS SDK
นี่คือสิ่งที่คุณต้องการ:
- คอมพิวเตอร์สมัยใหม่
- บอร์ด NodeMCU พร้อม ESP12-E
- VirtualBox (https://www.virtualbox.org/wiki/Downloads)
- เซิร์ฟเวอร์ Ubuntu LTS (https://www.ubuntu.com/download/server)
การกำหนดค่า VirtualBox สำหรับการพัฒนา
- ดาวน์โหลด VirtualBox และติดตั้งเซิร์ฟเวอร์ Ubuntu สิ่งนี้ควรจะทำได้ง่าย แต่หากคุณไม่รู้วิธี ให้ลองใช้ Google หรือดูคำแนะนำทีละขั้นตอนแบบกราฟิกนี้ การติดตั้งระบบปฏิบัติการถือเป็นทักษะที่ดี (เคล็ดลับ:เมื่อ VirtualBox แจ้งให้คุณเลือกดิสก์ ให้ทำการจัดสรรแบบไดนามิกและมีขนาดอย่างน้อย 50GB ซึ่งจะช่วยให้คุณไม่ต้องปวดหัวอีกต่อไป)
- ตรวจสอบให้แน่ใจว่าคุณสามารถเข้าถึงอินเทอร์เน็ตจากภายในเครื่องเสมือนและกำหนดค่าเซิร์ฟเวอร์ DNS:
คลิกขวาที่เครื่อง จากนั้นไปที่การตั้งค่า -> เครือข่าย ป>
หากต้องการกำหนดค่าเซิร์ฟเวอร์ DNS โปรดดูตัวอย่างนี้
ตัวอย่าง:09รหัส> หากคุณสามารถ Ping Google ได้ คุณก็พร้อมแล้ว!
-
(ไม่บังคับ) ติดตั้งเซิร์ฟเวอร์ OpenSSH และ Samba สิ่งนี้จะทำให้ชีวิตของคุณง่ายขึ้นมาก
-
(ไม่บังคับ) เปิดใช้งานการส่งต่อพอร์ต หากต้องการ SSH เข้าสู่เครื่องเสมือนของคุณโดยตรง คุณต้องเปิดใช้งานการส่งต่อพอร์ต ตัวอย่างเช่น หากต้องการแมป พอร์ต 2222 บนเครื่องโฮสต์ของคุณ ไปยัง พอร์ต 22 ของเครื่องเสมือนของคุณ .
เปิดใช้งานการส่งต่อพอร์ต:การตั้งค่า -> เครือข่าย -> การส่งต่อพอร์ต กระตือรือร้น ป>
หากคุณได้เปิดใช้งานการส่งต่อพอร์ต ตอนนี้คุณสามารถ SSH ไปยังเครื่องเสมือนของคุณจากเครื่องโฮสต์ของคุณได้ดังภาพด้านล่าง
FIG1:ssh -p 2020 denis@localhost ป>
หมายเหตุ:หากคุณใช้ Windows คุณต้องมี สีโป๊ว เพื่อ SSH เข้าสู่เครื่องเสมือน
- เสียบ NodeMCU ของคุณแล้วดำเนินการคำสั่งต่อไปนี้:
สิ่งนี้ควรเปิดเผยให้คุณทราบว่าอุปกรณ์ได้รับการระบุเป็น /dev/ttyUSB0 หากไม่มีอะไรเกิดขึ้น คุณจะต้องเพิ่ม USB ลงในเครื่องเสมือน หลังจากเพิ่ม USB แล้ว ให้ถอดปลั๊กและเสียบอุปกรณ์ของคุณอีกครั้ง
หากคุณมาถึงจุดนี้และทุกอย่างทำงานได้ดี ขอแสดงความยินดี ! ตอนนี้คุณพร้อมที่จะคอมไพล์ SDK และรันตัวอย่าง SmartConfig แล้ว คุณยังสามารถทวีตให้ฉันได้ที่ https://twitter.com/metonymyqt
สร้างโฟลเดอร์ใหม่และไปที่โฟลเดอร์นั้น:
โคลน Open SDK:https://github.com/pfalcon/esp-open-sdk
คำเตือน:ขั้นตอนนี้จะใช้เวลาสักครู่จึงจะเสร็จสิ้น ดังนั้นโปรดอดใจรอ บนเครื่องเสมือนของฉัน มันเสร็จสิ้นหลังจากผ่านไป 50 นาที อาจใช้เวลามากหรือน้อยกว่าสำหรับคุณ แต่ก่อนที่คุณจะเรียกใช้ ตรวจสอบให้แน่ใจว่าคุณ เชื่อมต่ออินเทอร์เน็ต และ DNS ได้รับการกำหนดค่าอย่างถูกต้อง . วิธีที่ดีที่สุดในการตรวจสอบนี้คือส่ง Ping ไปยัง Google หรือไซต์อื่น ๆ หาก Google ถูกบล็อกในภูมิภาคของคุณ
หาก Ping ของคุณสำเร็จ คุณสามารถย่อหน้าต่างและดูตอนของรายการทีวีที่คุณชื่นชอบได้ กลับมาอีกครั้งหลังจากผ่านไปประมาณ 40 นาที (แต่ให้แน่ใจว่าคอมพิวเตอร์ของคุณไม่เข้าสู่โหมดสลีป)
หลังจากที่สร้าง SDK สำเร็จแล้ว คุณจะเห็นข้อความแจ้งให้คุณวางบางอย่างในเส้นทางของคุณ โดยดำเนินการดังต่อไปนี้:
คำสั่งจะเพิ่มสตริงต่อท้าย ~/.profile ไฟล์. ตอนนี้โปรดรันคำสั่งต่อไปนี้:
หากคำสั่งดำเนินการสำเร็จ คุณก็พร้อมแล้ว!
เสียบ NodeMCU ของคุณแล้วรัน lsusb เพื่อตรวจสอบว่าอุปกรณ์ของคุณเชื่อมต่ออยู่ หลังจากนั้น ให้รัน esptool.py chip_id . ตอนนี้คุณควรเห็นรหัสชิปของบอร์ดแล้ว
ตอนนี้ยอมรับค่าเริ่มต้นจนกว่าคุณจะถามถึง SPI_SIZE_MAP นี่คือที่ที่คุณเลือก 4 เนื่องจาก NodeMCU มีขนาดแฟลช 32Mbit และแปลเป็น 4MB _คุณสามารถเลือก SPISPEED 3=80Mhz ได้ด้วย ป>
คุณจะเห็นสิ่งนี้:
ตอนนี้ หากคุณรีเซ็ตบอร์ด คุณจะไม่เห็นไฟ LED กะพริบ
ใช้แอปพลิเคชันโทรศัพท์
แอปพลิเคชัน Android
เปิดแอปพลิเคชัน ตรวจสอบให้แน่ใจว่าคุณเชื่อมต่อกับ WiFi AP แล้ว ป้อนรหัสผ่านของคุณ แล้วกดยืนยัน หลังจากนั้นไม่กี่วินาที ESP8266 ควรเชื่อมต่อกับ AP ของคุณ แค่นั้นแหละ. ขอแสดงความยินดีที่มาถึงจุดสิ้นสุดแล้ว!
หากคุณต้องการพัฒนาเพิ่มเติมโดยใช้ ESP8266-RTOS-SDK โปรดเยี่ยมชมเว็บไซต์อย่างเป็นทางการ คุณจะพบแหล่งข้อมูลและเอกสารมากมายที่นั่น นอกจากนี้ โปรดดูตัวอย่างอื่นๆ ที่พบในโฟลเดอร์ SDK
ขอบคุณมากที่สละเวลาอ่านข้อความนี้ หากคุณต้องการติดต่อฉัน คุณสามารถทำได้บน Twitter:MetonymyQT
เรียนรู้การเขียนโค้ดฟรี หลักสูตรโอเพ่นซอร์สของ freeCodeCamp ช่วยให้ผู้คนมากกว่า 40,000 คนได้งานในตำแหน่งนักพัฒนา เริ่มต้น 12รหัส> ป>
การเพิ่ม USB:การตั้งค่า -> พอร์ต -> USB ป> รวบรวม SDK และแฟลชบอร์ด
sudo apt-get install make unrar-free autoconf automake libtool gcc g++ gperf flex bison texinfo gawk ncurses-dev libexpat-dev python-dev python python-serial sed git unzip bash help2man wget bzip2 libtool-bin
28 ป> 32รหัส> ป>
49
คำสั่ง ping ที่สำเร็จ:$ ping medium.com ป> echo 'export PATH=/home/denis/Development/esp-open-sdk/xtensa-lx106-elf/bin:$PATH' >> ~/.profile
50รหัส> ป>
_esptool.py ชิปid ป>
git clone https://github.com/espressif/ESP8266_RTOS_SDK.git
echo 'export SDK_PATH=/home/denis/Development/ESP8266_RTOS_SDK' >> ~/.profile
echo 'export BIN_PATH=/home/denis/Development/ESP8266_RTOS_SDK/bin' >> ~/.profile
cd /home/denis/Development/ESP8266_RTOS_SDK/examples/smart_config/
chmod +x ./gen_misc.sh
./gen_misc.sh
!!!SDK_PATH: /home/denis/Development/ESP8266_RTOS_SDKBIN_PATH: /home/denis/Development/ESP8266_RTOS_SDK/bin
No boot needed.Generate eagle.flash.bin and eagle.irom0text.bin successully in BIN_PATHeagle.flash.bin — — — →0x00000eagle.irom0text.bin — →0x20000!!!
cd $BIN_PATH
esptool.py erase_flash
esptool.py write_flash 0x00000 $BIN_PATH/eagle.flash.bin 0x20000 $BIN_PATH/eagle.irom0text.bin 0x3FC000 $BIN_PATH/esp_init_data_default.bin
ภาพหน้าจอจากอุปกรณ์ Android ของฉัน ป> ทรัพยากร