Daftar Isi:
- Langkah 1: Bagian
- Langkah 2: Perakitan Perangkat Keras
- Langkah 3: Pengkabelan
- Langkah 4: Instalasi MicroPython
- Langkah 5: Siapkan Jaringan
- Langkah 6: Instal Program Utama
- Langkah 7: Perbaikan di Masa Depan
Video: MicroPython IoT Rover Berdasarkan WEMOS D1 (ESP-8266EX): 7 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
** Pembaruan: Saya memposting video baru untuk v2 dengan tombak **
Saya menyelenggarakan lokakarya Robotika untuk anak kecil dan saya selalu mencari platform yang ekonomis untuk membangun proyek yang menarik. Meskipun klon Arduino murah, ia menggunakan bahasa C/C++ yang tidak familiar bagi anak-anak. Selain itu, ia tidak memiliki WiFi bawaan yang merupakan keharusan untuk proyek IoT. Di sisi lain, sementara Raspberry Pi memiliki WIFI dan anak-anak dapat memprogramnya menggunakan Python, itu masih merupakan platform yang mahal untuk hanya mengontrol beberapa port GPIO untuk menghidupkan dan mematikan perangkat. Saya membutuhkan sesuatu di antaranya yang memiliki kemampuan WIFI dan Python. Tampaknya saya menemukan jawaban saya di MicroPython yang di-flash ke papan berbasis ESP8266 yang murah.
Apa itu Micropython?
Menurut situs webnya, MicroPython adalah implementasi yang ramping dan efisien dari bahasa pemrograman Python 3 yang mencakup sebagian kecil dari pustaka standar Python dan dioptimalkan untuk berjalan di mikrokontroler dan di lingkungan terbatas (seperti ESP8266). Ini pada dasarnya Python IDE pada sebuah chip. Salah satu manfaat utama adalah Anda dapat membuat kode dan mengubahnya dengan cepat menggunakan klien browser web yang disebut Webrepl. (Coba lakukan itu di Arduino.) Anda juga dapat melihat data sensor secara real-time di Webrepl alih-alih mengandalkan pencatatan data atau layar LED di Arduino.
Apa itu ESP8266?
Singkatnya, anggap saja sebagai Arduino dengan kemampuan jaringan built-in. Anda dapat menggunakan Arduino IDE untuk memprogram papan ESP8266 di C/C++ atau Anda dapat mem-flash-nya dengan NodeMCU atau MicroPython. Dalam proyek ini, saya akan mem-flash MicroPython ke papan ESP8266.
Saya memutuskan untuk mendapatkan WEMOS D1 yang didasarkan pada ESP8266-12EX untuk proyek sederhana ini di mana saya akan menavigasi mobil 2WD menggunakan browser web. Ada papan lain yang dirancang untuk MicroPython tetapi saya menginginkan sesuatu yang murah yang dapat saya buang jika tidak memenuhi kriteria saya. Seperti yang diharapkan, itu memenuhi semua persyaratan saya dan kemungkinan besar saya akan memasukkan WeMos dan Micropython ke dalam proyek masa depan.
Langkah 1: Bagian
- Wemos D1 atau papan berbasis ESP8266 lainnya
- Pelindung motor (saya menggunakan L293D murah dari AliExpress)
- Dudukan baterai untuk 4 x AA dan 9V (baterai 4 x AA untuk motor dan 9V untuk papan Wemos)
- Sasis mobil 2WD
- Kabel Dupont
Mungkin perlu besi solder, obeng, dan lem untuk menyatukan semuanya.
Langkah 2: Perakitan Perangkat Keras
Pertama, rakit sasis sesuai dengan instruksi.
Kemudian, lem panas komponen lainnya seperti yang ditunjukkan.
Kabel motor harus disolder ke terminal motor dan menggunakan lem panas untuk memperkuat sambungan terminal.
Ditempelkan sakelar kecil ke dudukan baterai 4AA. Ini akan menghidupkan/mematikan daya ke pelindung motor.
Langkah 3: Pengkabelan
Ikuti diagram pengkabelan saya seperti yang ditunjukkan.
Wemos ke Perisai Motor:
D1 IN2
D2 IN1 D3 IN4 **lewati D4 D5 IN3 GND -> GND
Pelindung Motor ke Motor/Daya:
Terminal -> Motor Kiri
Terminal B -> VCC Motor Kanan -> Baterai (+) GND -> Baterai (-)
Langkah 4: Instalasi MicroPython
Pertama, Wemos memiliki chip serial/USB berbasis CH304G. Ini adalah chip yang sama yang ditemukan di klon Arduino murah dan Anda harus menginstal driver yang tepat untuk Mac atau PC. Ikuti petunjuk di situs ini untuk menginstal driver.
Hubungkan Wemos ke komputer Anda dan konfirmasikan bahwa komputer Anda dapat mendeteksi Wemos. Di Mac, jalankan perintah berikut dan Anda akan melihat perangkat bernama /dev/tty.wchusbserial640.
$ ls -lt /dev/tty* | kepala
crw-rw-rw- 1 root wheel 17, 4 Mar 2 23:31 /dev/tty.wchusbserial640
Jika Anda menggunakan PC, Anda dapat menggunakan Instruksi ini sebagai referensi.
Selanjutnya, Anda perlu mengatur Python 2 atau 3 di komputer Anda karena alat flash, esptool.py, didasarkan pada Python. Meskipun panduan MicroPython mungkin menyatakan bahwa alat ini hanya berfungsi dengan Python 2.7, saya dapat menjalankannya di Python 3 tanpa masalah. Unduh Python terbaru dari https://www.python.org dan ikuti petunjuk penginstalan untuk PC atau Mac Anda.
Terakhir, Anda perlu menginstal MicroPython di Wemos. Situs MicroPython memiliki tutorial yang sangat baik tentang cara mengatur MicroPython di ESP8266. Cukup ikuti petunjuk penginstalan di Memulai dengan MicroPython pada ESP8266.
Di bawah ini adalah perintah yang saya gunakan:
$ esptool.py --port /dev/tty.wchusbserial640 erase_flash
esptool.py v1.3 Menghubungkan…. Menjalankan rintisan flasher Cesanta… Menghapus flash (ini mungkin memakan waktu cukup lama)… Menghapus membutuhkan waktu 10,5 detik
$ esptool.py --port /dev/tty.wchusbserial640 write_flash -fm dio -fs 32m -ff 40m 0x00000 esp8266-20170108-v1.8.7.bin
esptool.py v1.3 Menghubungkan…. Menjalankan rintisan flasher Cesanta… Params flash disetel ke 0x0240 Menulis 589824 byte pada 0x0 dalam 50,8 detik (92,8 kbit/s)… Meninggalkan…
MicroPython sekarang terpasang di papan Anda!
Langkah 5: Siapkan Jaringan
Sementara MicroPython sekarang terinstal di Wemos Anda, itu belum terhubung ke jaringan Anda. Anda harus mengaktifkan jaringan terlebih dahulu. Di Mac, jalankan perintah SCREEN untuk memulai sesi terminal serial ke Wemos.
$ layar /dev/tty.wchusbserial640 115200
Saat Anda melihat layar kosong, tekan RETURN untuk melihat perintah:
>>
(Catatan: Untuk keluar, ketik CTRL-A CTRL-)
Sekarang, mari aktifkan akses klien web. Ketik "import webrepl_setup" untuk menjalankan program setup. Masukkan E untuk mengaktifkan WebREPL dan kemudian atur kata sandi. Reboot untuk mengaktifkan perubahan.
>>impor webrepl_setup
Status auto-start daemon WebREPL: dinonaktifkan Apakah Anda ingin (E)mengaktifkan atau (D)menonaktifkannya berjalan saat boot? (Baris kosong untuk keluar) > E Untuk mengaktifkan WebREPL, Anda harus mengatur kata sandinya Kata sandi baru: xxxxx Konfirmasi kata sandi: xxxxx Perubahan akan diaktifkan setelah reboot Apakah Anda ingin mem-boot ulang sekarang? (y/t) y
Terakhir, unduh klien Webrepl ke mesin Anda. Ini opsional tetapi klien dilengkapi dengan alat berguna lainnya yang mungkin ingin Anda gunakan nanti. Misalnya, webrepl_cli.py adalah perintah untuk menyalin file ke Wemos dalam sintaks seperti scp. Gunakan git untuk mengunduh klien. (Instal alat git jika Anda belum memilikinya.)
git clone
Buka browser web Anda dan pada kolom URL, masukkan lokasi lokasi file klien webrepl yang Anda unduh seperti:
file:///Users/xxxxx/wemos/webrepl/webrepl.html
Ini akan menampilkan klien webrepl di browser Anda. Sebelum Anda dapat menghubungkannya, Anda harus terlebih dahulu terhubung ke Titik Akses WiFi-nya. Jika Anda melihat WIFI yang tersedia untuk komputer Anda, Anda akan melihat jaringan dimulai dengan MicroPython-xxxx. Hubungkan ke jaringan itu. (Peringatan: Setelah Anda terhubung ke jaringan itu, Anda akan kehilangan akses Internet Anda.)
Kembali ke klien webrepl Anda dan klik Connect. Itu harus meminta kata sandi. Masukkan kata sandi Wemos Anda dan Anda harus terhubung.
Selamat datang di MicroPython!
Kata sandi: WebREPL terhubung >>>
Wemos Anda masih berjalan dalam Mode AccessPoint. Meskipun ini baik-baik saja, saya lebih suka menjalankannya dalam Mode Stasiun di mana ia terhubung ke WIFI rumah saya sehingga komputer saya dapat mengaksesnya melalui WIFI rumah dan masih memiliki akses Internet. Untuk melakukannya, Anda harus membuat file bernama boot.py dengan konfigurasi jaringan dan mengunggahnya ke Wemos.
Berikut ini adalah contoh boot.py. Ubah ssid dan kata sandi ke jaringan WIFI rumah Anda. Juga, saya ingin memberikan IP statis 192.168.0.32. Ubah ke alamat IP yang tersedia di WIFI rumah Anda.
boot.py (Anda dapat mengunduhnya dari bawah)
impor gc
import webrepl def do_connect(): import network sta_if = network. WLAN(network. STA_IF) if not sta_if.isconnected(): print('connecting to network…') sta_if.active(True) sta_if.ifconfig(('192.168. 0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1')) sta_if.connect('', '') while not sta_if.isconnected(): pass print('network config:', sta_if.ifconfig()) do_connect() webrepl.start() gc.collect()
Gunakan formulir "Kirim File" klien Webrepl untuk mengirim file boot.py Anda ke Wemos. Tekan tombol reset untuk mem-boot ulang. Jika Anda masih terhubung melalui USB menggunakan perintah SCREEN, Anda akan melihat:
menghubungkan ke jaringan… konfigurasi jaringan: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1') Daemon WebREPL dimulai pada ws://192.168.4.1:8266 Daemon WebREPL dimulai pada ws://192.168.0.32:8266 Memulai webrepl dalam mode normal tidak dapat membuka file 'main.py' untuk membaca MicroPython v1.8.7-7-gb5a1a20a3 pada 01-09-2017; Modul ESP dengan ESP8266 Ketik "help()" untuk informasi lebih lanjut. >>>
Ini memvalidasi bahwa Wemos Anda terhubung ke WIFI rumah Anda menggunakan alamat ipad 192.168.0.32.
Anda dapat melakukan ping ke alamat IP tersebut untuk memvalidasi.
$ping 192.168.0.32
PING 192.168.0.32 (192.168.0.32): 56 byte data
64 byte dari 192.168.0.32: icmp_seq=0 ttl=255 waktu=9.334 md 64 byte dari 192.168.0.32: icmp_seq=1 ttl=255 waktu=11.071 md..
Langkah 6: Instal Program Utama
Terakhir, Anda harus menginstal program utama yang akan terus berjalan di Wemos Anda.
Kembali ke browser web Anda dan jalankan program klien webrepl. Ubah alamat ip menjadi alamat IP Wemos Anda. Dalam kasus saya, sekarang 192.168.0.32. Masukkan kata sandi Wemos Anda dan Anda sekarang harus terhubung ke Wemos.
Mari kita upload program main.py terlampir. Unduh file terlampir ke komputer Anda. Klik Pilih File untuk memilih main.py yang diunduh dan dan klik Dikirim ke perangkat.
Anda harus menekan tombol Istirahat untuk memuat program main.py. Setelah menekan tombol Reset, Anda akan melihat:
menghubungkan ke jaringan…
konfigurasi jaringan: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1')
Daemon WebREPL dimulai pada ws://192.168.4.1:8266 Daemon WebREPL dimulai pada ws://192.168.0.32:8266 Memulai webrepl dalam mode normal Mendengarkan, hubungkan browser Anda ke …
Ini berarti program main.py Anda diaktifkan dan terdaftar ke port 80.
Untuk menguji, buka browser web Anda dan masukkan
Ini akan menampilkan layar kontrol mobil seperti yang ditunjukkan dalam video. Jika kabel Anda terhubung dengan benar, tombol kontrol akan mengirimkan sinyal yang tepat ke port GPIO Anda untuk memindahkan mobil.
Langkah 7: Perbaikan di Masa Depan
Item yang harus dilakukan berikut ada di daftar v2 saya:
- Gunakan PWM untuk mengontrol kecepatan motor
- Meningkatkan antarmuka web. Mungkin menggunakan kerangka kerja aREST. Saya tidak percaya aREST lib tersedia di MicroPython saat ini jadi saya mungkin harus meretasnya.
Terima kasih telah membaca Instruksi ini. Ikuti saya di Facebook, Youtube, dan Instructables untuk lebih banyak proyek di masa mendatang.
Direkomendasikan:
MQTT Berdasarkan MicroPython ESP32: 5 Langkah
MQTT Berdasarkan MicroPython ESP32: Saya suka memelihara kucing peliharaan. Setelah seharian bekerja keras, kucing bisa membuat saya rileks ketika saya pulang. Setelah latihan keras, kucing ini memiliki kebiasaan makan yang teratur di "restoran" setiap hari. Tetapi baru-baru ini saya harus melakukan perjalanan selama beberapa hari dan
Lora Gateway Berdasarkan MicroPython ESP32: 10 Langkah (dengan Gambar)
Lora Gateway Berdasarkan MicroPython ESP32: Lora telah sangat populer dalam beberapa tahun terakhir. Modul komunikasi nirkabel yang menggunakan teknologi ini biasanya murah (menggunakan spektrum bebas), berukuran kecil, hemat energi dan memiliki jarak komunikasi yang jauh, dan terutama digunakan untuk komunikasi bersama
IoT Smart Clock Dot Matrix Gunakan Wemos ESP8266 - ESP Matrix: 12 Langkah (dengan Gambar)
Jam Pintar IoT Dot Matrix Gunakan Wemos ESP8266 - Matriks ESP: Buat Jam Pintar IoT Anda sendiri yang dapat: Menampilkan Jam dengan ikon animasi yang indah Tampilan Pengingat-1 hingga Pengingat-5 Tampilan Kalender Tampilan Waktu Sholat Muslim Tampilan Informasi cuaca Tampilan Berita Tampilan Tampilan Saran Tampilan tingkat Bitcoin
Monitor Kualitas Udara IoT Berbiaya Rendah Berdasarkan RaspberryPi 4:15 Langkah (dengan Gambar)
Monitor Kualitas Udara IoT Berbiaya Rendah Berdasarkan RaspberryPi 4: Santiago, Chili selama keadaan darurat lingkungan musim dingin memiliki hak istimewa untuk tinggal di salah satu negara terindah di dunia, tetapi sayangnya, tidak semua mawar. Chili selama musim dingin sangat menderita dengan kontaminasi udara, ma
Memulai Dengan Esp 8266 Esp-01 Dengan Arduino IDE - Memasang Papan Esp di Arduino Ide dan Pemrograman Esp: 4 Langkah
Memulai Dengan Esp 8266 Esp-01 Dengan Arduino IDE | Memasang Papan Esp di Ide dan Pemrograman Arduino Esp: Dalam instruksi ini kita akan belajar cara memasang papan esp8266 di Arduino IDE dan cara memprogram esp-01 dan mengunggah kode di dalamnya. ini dan kebanyakan orang menghadapi masalah