
Tentang apa artikel ini
Kami melanjutkan serangkaian artikel tentang
ShIoTiny - pengontrol yang dapat diprogram secara visual berdasarkan chip
ESP8266 .
Artikel ini
berbicara tentang apa yang telah berubah sejak firmware
ShIoTiny sebelumnya: bagaimana antarmuka pengguna telah berubah; cara menugaskan kembali "kaki" dan hal-hal lain yang kurang penting, tetapi tidak lama ditunggu-tunggu.
Artikel ini menyajikan sesuatu seperti "
lembar fakta " tentang keadaan di bidang
pengembangan firmware
ShIoTiny . Mereka yang tidak tertarik dengan perkembangan saya dalam artikel ini dapat melewati artikel ini dengan hati nurani yang jelas.
Mereka yang tidak tahu apa yang mereka bicarakan, tetapi ingin mengetahuinya, dapat membaca artikel saya sebelumnya tentang firmware
ShIoTiny atau merujuk ke
dokumentasi .
Situs Proyek ShIoTinyVersi online editor ElDraw persis sama dengan di firmware, untuk referensi.
Tautan ke skema, firmware, dan lainnya - di situs web
ShIoTiny di bagian dokumentasi.
Artikel ShIoTiny Sebelumnya dan Artikel Lainnya SayaIntro untuk meyakinkan masyarakat terhormat
Kebetulan kuartal keempat adalah terburu-buru permanen. Oleh karena itu, beberapa kawan sudah mulai mengubur proyek
ShIoTiny dan menulis surat kepada saya, mereka berkata - “hai, penulis, di mana Anda?! kenapa kamu tidak menulis ?! kami menggunakan firmware Anda di sini! dan Anda bukan satu artikel baru! "
Tentu saja, itu dengan cara yang sopan, tetapi dari segi makna itu. Beberapa, sebaliknya, menulis saran dan komentar, yang banyak membantu dalam menangkap kutu perangkat lunak. Terima kasih kawan Itu selalu baik bahwa Anda tidak memasak dalam jus Anda sendiri, tetapi memiliki orang yang berpikiran sama.
Teman! Saya mengingatkan Anda bahwa proyek saya adalah hobi dan selain itu saya punya pekerjaan, seorang istri dan anak-anak. Jadi saya mohon: bersikap lunak! Penulis menulis bagaimana ia bisa dan bisa :)
Saya segera meyakinkan semua orang:
proyek ini tidak mati ! Saya menangkap beberapa kutu dari kode dan, di samping itu, redid situs proyek (meskipun saya masih belum menyelesaikannya - saya mengisi situs dengan konten).
Dari sudut pandang sebagian besar ajaran filosofis di dunia tidak ada yang permanen. Bahkan alam semesta kita berkembang. Apa yang dapat kita katakan tentang firmware mikrokontroler atau situs web proyek?
Perubahan kunci pada firmware
ShIoTiny memengaruhi terutama dua hal: kemungkinan mendefinisikan ulang kaki dan halaman status pengontrol. Kami akan membicarakannya. Adapun desain baru dari situs proyek, saya tidak akan menyentuhnya di sini: siapa pun yang penasaran akan datang, melihat dan mengkritik.
Mendefinisikan ulang ESP8266 Kaki
Jadi, kaki atau mereka -
GPIO . Awalnya, kaki-kaki mikrokontroler
ESP866 tidak dimaksudkan untuk didefinisikan ulang. Mereka secara kaku dipaku pada input dan output papan
ESP-07 (siapa pun yang tertarik - semuanya tentang hal itu ada di situs web proyek).
Tetapi tiba-tiba ternyata firmware saya tanpa perubahan apa pun tidak hanya terjadi pada modul
ESP-07 dengan FLASH 1MB, tetapi juga pada
ESP-01 ,
ESP-12 dan bahkan pada
ESP-8285 !
Muncul pertanyaan yang benar bahwa seseorang membutuhkan 5 input dan satu output, 6 output lainnya dan tidak ada input, dan ketiga termometer pada saat yang sama.
Gelombang surat dari publik yang marah hampir membuat sisa-sisa pikiranku menjadi gelap! Istri saya sudah bersiap memanggil saya mantri dengan kemeja kematian ... Tapi saya ternyata gila!
Sambil menggertakkan gigi dan minum tiga liter kopi, saya mengumpulkan sisa-sisa otak, yang kebetulan tidak mabuk di tubuh siswa, dan menemukan cara menerapkan trik dengan mendefinisikan kembali kaki sehingga semua orang akan merasa baik.
Saya tidak akan membuat pembaca bosan dengan dapur program internal. Dari sudut pandang pengguna, semuanya terlihat sangat sederhana: ia menusuk mouse pada simpul yang terhubung ke kaki mana pun dari modul
GPIO dan memilih satu kaki dari daftar yang mungkin. Kira-kira seperti yang ditunjukkan pada gambar di bawah ini.
N / A - berarti bahwa kaki tidak dipilih.
Jika ada simpul di sirkuit dengan kaki
N / A tidak dipilih, maka sirkuit seperti itu tidak dapat dimuat ke dalam perangkat - editor
ElDraw tidak akan mengizinkannya. Tetapi skema semacam itu dapat diunduh ke disk untuk melanjutkan pengeditannya “beberapa saat kemudian”.
Semuanya sangat sederhana, tetapi ada nuansa.
Pertama , yang menurut saya sangat nyaman, hanya kaki yang tidak digunakan yang ditampilkan dalam daftar. Artinya, memilih satu kaki dua kali tidak mungkin.
Kedua , kaki
GPIO15 dicadangkan untuk tombol AP dan tidak dapat digunakan untuk tujuan lain. Maaf, tetapi sebaliknya, tidak mungkin ...
Ketiga , kaki
GPIO16 tidak dapat digunakan sebagai input biner biasa (
Input node).
Keempat , kaki
GPIO9 dan
GPIO10 hanya dapat digunakan pada modul
ESP-8285 . Pada modul lain, hasilnya akan menjadi bencana - ketergantungan penuh dan reboot tanpa akhir!
Poin terakhir -
pemahaman beberapa modul ketika memilih kaki
GPIO9 dan
GPIO10 membuat saya berpikir keras. Lagi pula, saya tidak ingin mengubah pengontrol setiap kali jika kaki salah pilih! Dan saya menemukan cara baru yang dimodifikasi untuk masuk ke mode konfigurasi.
Cara baru untuk masuk ke mode konfigurasi
Jika seseorang membaca artikel saya sebelumnya, maka dia ingat bahwa mode konfigurasi firmware
ShIoTiny adalah mode ketika chip ESP8266 menjadi titik akses terbuka, dan sirkuit program tidak memulai secara otomatis setelah reboot. Dan jika itu tidak dimulai, maka itu tidak akan menggantung ketika memilih kaki
GPIO .
Artinya, dalam mode konfigurasi, Anda dapat mengubah kaki masalah
GPIO9 dan
GPIO10 ke orang lain. Tapi masalahnya adalah, Anda bisa masuk ke mode konfigurasi hanya dengan menahan tombol
AP selama sekitar 4 detik! Dan selama waktu ini, pengontrol akan memiliki waktu untuk mulai menjalankan program rangkaian "kurva" dan membeku!
Untuk mengatasi masalah ini, saya datang dengan interval penjaga setengah detik setelah me-reboot controller. Jika tombol
AP ditekan dalam 0,5 detik setelah me-reboot controller, controller akan segera reboot dalam mode konfigurasi. Pada saat yang sama, selama interval penjaga setengah detik, skema program tidak dimulai. Dan itu berarti tidak bisa digantung.
Kontra jelas - program tidak memulai segera, tetapi setengah detik kemudian. Keuntungannya jauh lebih besar - jika Anda memilih "kaki yang salah" atau program sirkuit macet karena alasan lain, Anda selalu dapat masuk ke mode konfigurasi dan memperbaiki situasi tanpa menginstal controller.
Dalam praktiknya, semuanya terlihat lebih sederhana daripada lobak kukus: kami menekan tombol
Reset dan, melepaskan tombol
Reset di sana, tanpa mengganggu, kami menekan tombol
AP . Segera sekitar setengah detik LED
STATUS biru menyala (jika Anda, tentu saja,
menyoldernya ke
GPIO0 ) dan pengontrol akan reboot dalam mode konfigurasi.
Jika rangkaian program bekerja secara normal, maka Anda selalu dapat beralih ke mode konfigurasi dengan cara "lama" - dengan menekan dan menahan tombol
AP selama sekitar 4 detik (sampai LED
STATUS biru menyala).
Halaman Status ShIoTiny
Kemampuan untuk menghubungkan kaki dengan kehendak pengguna telah menyebabkan revisi halaman informasi utama dari firmware
ShIoTiny .
Setelah banyak pertimbangan, saya sampai pada kesimpulan bahwa halaman tersebut harus a) informatif dan b) tidak mengandung terlalu banyak.
Apa yang saya dapatkan ditunjukkan pada gambar di bawah ini.

Ada dua bagian pada halaman informasi utama:
Info - informasi umum dan
GPIO Bekas - informasi tentang penggunaan kaki I / O. Mari kita pertimbangkan secara lebih detail.
Bagian Info
Name: esp_8266_155da4 - nama unik untuk perangkat. Ini dihasilkan secara otomatis dan tidak dapat diubah.
Ver: 2019-10-22 22:54:51 +0700 6b5ee82 clean - versi firmware (tanggal pembuatan dan pengidentifikasi komit).
MQTT: Terhubung ke: 192.168.1.2:1064, SSL - koneksi ke server MQTT. Memperlihatkan alamat IP atau URL server, port server, dan mode SSL jika koneksi aman digunakan. Ingat bahwa jika program rangkaian tidak mengandung node untuk bekerja dengan MQTT, maka koneksi tidak akan pernah dibuat!
WiFi: STA ip: 192.168.1.134. -
Mode operasi
WiFi ESP8266 :
STA - station,
AP - titik akses. Kedua mode dengan alamat IP yang berbeda dapat dipilih secara bersamaan.
Sekarang: Rabu 30 Oktober 2019 21:49:28 GMT + 0700 - waktu sekarang. Ditampilkan hanya ada waktu yang ditentukan oleh simpul
Set Time ! Jika tidak, maka akan ditunjukkan bahwa waktu tidak disinkronkan dan tidak disetel.
Bagian GPIO yang Digunakan
Bagian ini menunjukkan semua kaki modul yang digunakan dalam diagram program dan statusnya saat ini.
Format output jelas:
GPIO <nomor leg> (fungsi): statusNomor kaki adalah nomor atau, untuk
ADC , alih-alih nomor akan menjadi
adc prasasti.
Fungsi:
Input - input biner;
Relay - output biner;
ADC - ADC atau tipe sensor:
DS182x atau
DHTxx .
Field "state" - tergantung pada tujuan kaki.
Untuk input dan output biner - 0 atau 1.
Untuk sensor - suhu, kelembaban.
Untuk ADC - bacaannya dihitung ulang sesuai dengan rumus yang diberikan (lihat deskripsi bekerja dengan ADC dalam instruksi).
Menurut pendapat saya, halaman utama berisi semua informasi yang diperlukan tentang pengoperasian controller.
Kesimpulan
Di sini, pada kenyataannya, semua perubahan besar dalam firmware saat ini. Selain inovasi ini, lusinan kesalahan kecil diperbaiki.
Seperti biasa - instruksi terperinci di situs web
ShIoTiny di bagian dokumentasi atau di
sini .
Saran, harapan, kritik,
uang, hadiah, dan sebagainya - kirimkan saya komentar atau email:
shiotiny@yandex.ru .
Menunggu umpan balik dan saran.