Bagian 2: Modul dan AppStore. ESPboy - gadget untuk game retro dan eksperimen dengan IoT

Sejak publikasi artikel pertama tentang perangkat ESPboy yang saya rancang pada mikrokontroler ESP8266, cukup banyak waktu telah berlalu.





Namun, sesuatu telah dilakukan selama ini:


  1. Bawa perangkat itu sendiri ke tahap produksi
  2. Bangun modul ekspansi, tulis perangkat lunak untuk mereka dan debug
  3. WiFi Apple iStore Google play market
  4. Arduboy Arduboy ESPboy
  5. Little Game Engine


Perbandingan ESPboy dengan M5Stack, MeowBit & Dingoo A-320



Solder itu sendiri sudah muak dan berhasil bernegosiasi dengan orang-orang Cina yang luar biasa dari www.makerfabs.com , yang menyatukan beberapa lusin kit-kit setengah rakitan untuk perakitan akhir independen. Kualitasnya ternyata luar biasa, untuk itu banyak terima kasih kepada mereka. Perlu untuk menyolder hanya 4 bagian untuk membuatnya bekerja.



Dia dengan cepat membagikan batch tes untuk mereka yang ingin berpartisipasi dalam pengembangan proyek, dan akan diperlukan untuk memesan lebih banyak, tetapi Anda perlu mencari cara untuk menangani kontrol pabean. Jika Anda menemukan beberapa perangkat dengan tipe yang sama dalam satu paket, ada risiko penundaan dan pembongkaran yang lama.



Modul dan perangkat lunak ekspansi untuk mereka


Selanjutnya, kami berhasil mengumpulkan modul prototipe dan menulis untuk setiap perangkat lunak, yang mengubah ESPboy menjadi perangkat lengkap, sebagaimana dimaksud. Untuk melakukan ini, cukup tancapkan modul yang diinginkan ke slot ekspansi dan perbarui firmware. Sumber di github .



Ada beberapa iterasi lagi untuk membawa semua modul ke tahap produksi.

Penting untuk menggambar papan sirkuit cetak, membuat daftar terverifikasi dari komponen yang tersedia dan murah, menulis instruksi terperinci, mengatur segala sesuatu dalam bentuk ikan paus, siap untuk perakitan dan dalam bentuk produk yang sudah dirakit.

Saya berharap punya waktu untuk melakukan semua ini sebelum akhir tahun ini.

Untuk hari ini, ekstensi berikut sepenuhnya disiapkan dan didebug:

  1. Keyboard mini penuh
  2. Stasiun Meteo
  3. Pemutar mp3
  4. Radio fm
  5. Navigator GPS
  6. Modul DAC untuk memutar musik
  7. LORA messenger
  8. Telepon GSM

Juga dalam karya ini ada beberapa ide yang lebih menarik, saya harap segera memberi tahu Anda.

Beberapa kata tentang setiap modul


1. Keyboard mini lengkap

Berdasarkan keyboard pada smartphone Blackberry Q10, yang dikendalikan melalui port expander MCP23017.



Ada cukup banyak informasi tentang sinyal pada loop keyboard dan tugasnya adalah memesan konektor + adaptor untuk kabel dan menyolder konektor ini ke adaptor. Mengingat ukuran konektor dalam beberapa milimeter dan ukuran kontak itu sendiri secara harfiah dari rambut, tugasnya tidak mudah.

MCP23017 bekerja pada i2c dan tidak ada masalah dalam paket perangkat lunak. Diperlukan untuk menginterogasi matriks keyboard untuk mencari kontak tertutup dan menafsirkan dengan benar sinyal dalam tata letak keyboard. Detail terlihat dalam kode sumber .



2. Stasiun Meteo

Pekerja arduino mana yang tidak mengumpulkan stasiun cuaca. Anda tidak akan menemukan hal seperti itu di alam.
Versi saya menggunakan sensor tekanan / kelembaban / suhu i2c BME280 dan juga sensor CO2 - SGP30 .

Sebagai bonus - DC3231 jam waktu nyata , yang juga memungkinkan Anda untuk menampilkan waktu yang tepat.

Ia masih berpikir untuk menambah sensor petir / petir AS3935 , tetapi sedikit mahal. Mungkin nanti.



Modul itu sendiri ternyata berukuran kecil, kodenya ada di sini .

Sebagai versi tambahan, saya membuat tes yang lebih besar. Saya tidak menyukainya, tetapi video percobaan tetap dipertahankan.



3. MP3 player

Digunakan mini mp3 DFplayer , dengan cara yang sama yang dijelaskan dalam artikel tentang modul ini .

Satu-satunya masalah dengan itu adalah bahwa orang yang cacat sering menemukan dan tidak bekerja secara stabil atau tidak bekerja sama sekali. Kode sumber .

4. Radio FM

Sebagai dasar, modul tuner fm SI4703 dan perpustakaan yang sedikit diolah dari mathertel digunakan .



Radio diputar cukup lumayan di headphone, pencarian stasiun dan bahkan RDS bekerja. Kodenya ada di sini.



5. GPS Navigator

Tidak ada tempat untuk pergi tanpa navigasi. Karena itu, tentu saja, saya memutuskan untuk merakit modul tambahan untuk tugas ini.
Saya menggunakan chip WAVGAT GY-NEO6MV2 yang sama sekali tidak ada masalah. Diimplementasikan dua ekarana. Salah satunya adalah mode navigasi gratis, yang kedua adalah mode mengikuti ke titik dari memori. Secara teoritis, Anda bisa meletakkan peta di sana, tapi ini tugas yang panjang. Kode sumber masih ada di sana .



5. Modul DAC untuk memainkan musik

Ketika mengembangkan emulator ZX Spectrum , muncul ide untuk meniru prosesor musiknya AY-3-8910. Emulasi perangkat lunak pada dinamika internal ternyata, tetapi biaya prosesor untuk sintesis dan kualitas suara masih banyak yang diinginkan. Pada akhirnya, Spectrum on ESPboy diperoleh, tetapi hanya dalam versi 48k tanpa emulasi AY karena bahkan memori yang cukup tersedia dari ujung ke ujung (secara harfiah beberapa lusin byte per tumpukan tetap).



Namun, berkat upaya Shiru dan eksperimennya dengan suara , modul DAC untuk ESPboy dan pemutar PT3 AY-3-8910 musik Spectrum muncul.

Modul ini digunakan pada PCM5102 dengan dukungan untuk antarmuka I2S (jangan dikacaukan dengan I2C ). Selalu ada kode sumber .



7. LORA messenger

Belum lama ini, telah menjadi teknologi yang sangat populer LORA - protokol transmisi hemat energi dari paket data pendek melalui udara jarak jauh. Saya mencari-cari dan menemukan transceiver murah dari EBYTE .

Dan pada daya maksimum, mereka melakukan sharash sejauh 8 km. Di sini Anda perlu memahami bahwa hambatan dalam bentuk medan dan pembangunan perkotaan secara dramatis mengurangi indikator ini, ya, kebisingan perkotaan juga. Namun, dalam kondisi pinggiran kota, atau jika satelit dengan menara GSM, misalnya, jatuh, ini adalah saluran komunikasi yang sangat baik. Eksperimen menghasilkan pembuatan modul obrolan penuh di udara. Modul itu sendiri mengenkripsi paket, tetapi saya juga di atas sebagai opsi AES (ini dinonaktifkan secara default).

HarusUntuk menjadi bingung dengan perpustakaan di bawah transceiver karena yang ada adalah kereta, atau saya tidak mengerti bagaimana mereka bekerja.





8. Telepon hacker GSM

Setelah menemukan perancang telepon Ringo (sebelumnya Maker Phone) di jaringan , saya sangat terkejut dengan harga dan kerumitannya. Memiliki pengalaman dengan modul SIM800 yang terkenal dari perusahaan SimCom, ia dengan cepat mencuci teleponnya.

Tentu saja, itu tidak senyaman smartphone modern favorit semua orang, tetapi itu tidak mengintip dan mencuri kontak Anda.





Perangkat lunak tertulis mendukung minimum yang diperlukan:

  • Tampilan waktu saat ini
  • Jawab panggilan dan turunkan panggilan
  • Memanggil nomor
  • Terima dan kirim SMS

Selain itu, layar menampilkan semua informasi layanan tentang pengoperasian transceiver GSM. Permintaan dan tanggapan dari BTS dan neraka tahu apa lagi. Saya tidak istimewa, tetapi menarik untuk ditonton.

Sebagai bonus, Anda dapat memasukkan perintah AT level rendah untuk mengontrol transceiver, seperti pada masa lalu yang baik dari modem dialup, dan perintah ini adalah 600 halaman dalam dokumentasi dari SimCom . Nah daripada bidang penelitian untuk peretas topi putih sejati.

ESPboy App Store - Katalog Aplikasi Online


Mempelajari dokumentasi ESP8266 dan mengingat tentang WiFi di papan, saya terutama dikejutkan oleh kemampuan untuk memperbarui firmware melalui http / https , yaitu melalui jaringan. Menimbang bahwa pemrograman mikrokontroler adalah tugas yang merepotkan, dan memperbarui firmware hampir selalu wasir, saya benar-benar ingin mengubahnya.

Seperti apa pembaruan firmware untuk mikrokontroler dengan cara biasa?

  1. Jika USB-TTL terpasang, maka anggap diri Anda beruntung. Dan jika tidak, maka Anda perlu mencari konverter USB-TTL yang terpisah dan mencari cara untuk terhubung
  2. Hubungkan perangkat dengan kabel ke komputer dan konfigurasikan driver
  3. Instal Arduino IDE
  4. Instal ekstensi ESP8266 di bawah Arduino IDE
  5. Unduh kode sumber
  6. Untuk memahami perpustakaan mana yang digunakan di sana dan versi mana (yang tidak pernah jelas)
  7. Cari dan unduh semua perpustakaan dari versi yang diperlukan dan instal (dan ini, pada prinsipnya, tidak selalu memungkinkan)
  8. Menangani opsi kompilasi, mengaturnya (yang juga tidak jelas)
  9. Jika Anda akhirnya berhasil melakukan kompilasi, dapatkan banyak kesalahan
  10. Lakukan tarian dengan rebana, selesaikan kesalahan kompilasi (kadang-kadang ini terjadi lebih dari satu hari, dan bahkan dengan kalach parut terkadang membuat gugup)

Jelas bahwa sulit bagi pemula untuk menguasai pencarian seperti itu dan ini merupakan hambatan kritis ketika memasuki topik pemrograman mikrokontroler, rotobotechnics, dan hal-hal lain semacam itu.

Dan bagaimana ini bisa diubah?

Katalog aplikasi online itu sendiri mengurangi tugas memperbarui firmware ke langkah-langkah sederhana berikut:

  1. Pilih jaringan WiFi dari daftar
  2. Pilih aplikasi dari daftar
  3. Tunggu setengah menit

Ya, bukan keindahan dan kebahagiaan!

Berikut adalah kode sumber bagian klien untuk dihubungkan dan dinikmati .



Pelabuhan Perpustakaan Arduboy2


Sekitar setahun yang lalu, setelah dia merancang ESPboy dan mengujinya dengan sekuat tenaga, dia menemukan proyek Arduboy yang sukses secara komersial .

Di bawah gadget yang luar biasa ini, ternyata, tidak sedikit game open-source keren yang ditulis , dan komunitas yang ramah berkembang hingga hari ini.

Pengembangan game untuk Arduboy didasarkan pada perpustakaan lib Arduboy2 .

Setelah memindahkan pustaka ini ke ESPboy, menjadi mungkin untuk mengkompilasi ulang lusinan game hebat dengan Arduboy dengan penyesuaian kode minimal.

Sumber pustaka, gim porting, dan instruksi cara port apa pun dari Arduboy ke ESPboy, lagi di github.



Game baru di Little Game Engine


Sejalan dengan proyek ESPboy, proyek fantasi konsol Little Game Engine sedang dikembangkan secara intensif .

Karya game yang dibuat di Little Game Engine didukung oleh ESPboy dan Igor, pembuat mesin, tidak berhenti menyenangkan kami dengan rilis baru .

Pengembangan game ini sederhana dan mudah, dan juga dapat diakses oleh siapa saja yang ingin melalui pengembangan lingkungan (IDE), yang berjalan di browser apa saja dan memiliki kompiler dan emulator bawaan .

Sumber gim terbuka, terlihat dalam IDE saat memilih gim, dan tersedia untuk diedit dan dieksperimen. Untuk bermain, Anda harus memilih "kompilasi" di atas kode permainan, dan kemudian klik ikon "mainkan" di sebelah kiri jendela emulator. Deskripsi "C" dari bahasa LGE yang demikian juga sangat rinci.

Kode sumber mesin itu sendiri juga tersedia untuk ditinjau.



Dengan demikian, pengerjaan proyek terus berlanjut.

Masih banyak hal menarik. Dan penambahan elemen baru dari ekosistem ESPboy dan integrasi yang lebih menyeluruh dari komponen yang ada untuk menyederhanakan pekerjaan dengan perangkat, baik untuk pengguna dan pengembang.



Terima kasih kepada semua orang yang berkontribusi pada proyek: Dmitry (Wabah) , Alexander (Shiru) , Mikhail G.,
Igor (Corax) , Alex (AlRado) , Mikhail (Torabora), Andrey S. , George P., Roman (orsweb) ) , Scott (MLXXXP) , Haroldo (Haroldo-OK) , John E , Marcus de Verdier , Loopingstar , AccidentalRebel dan banyak lainnya yang bermain, membaca, menguji, kode, streaming, memberi saran dan seperti itu.

Semua kesuksesan baik dan kreatif!

Salam,
RomanS

All Articles