Halo semua, dalam ini buatan sendiri Saya akan menunjukkan bagaimana anda boleh membuat yang murah, mudah, tetapi pada masa yang sama efisien parser data berasaskan platform dari Internet Arduino dengan modul Wifi. Dengan itu, anda boleh mengetahui hampir apa-apa maklumat dari rangkaian dalam beberapa saat. Ini boleh menjadi bilangan pelanggan di youtube, bilangan mesej masuk, sama ada mereka menerbitkan produk buatan sendiri, dll.
Berikut adalah gambarajah ringkas untuk berhimpun.
Sebelum mula membaca artikel, saya akan mengesyorkan menonton video yang menunjukkan kemungkinan kerja buatan sendiri dan aplikasi praktikalnya.
Kita perlukan:
- Platform ini didasarkan pada keluarga ESP, dalam kasus saya, dan ini adalah WeMos D1 R2
-Perkara LCD untuk output maklumat, saya mempunyai LCD 1602 yang popular dengan modul I2C
-wire dan butang (walaupun anda mungkin tidak memerlukannya)
Juga
-USB kabel (untuk memuat turun firmware)
-WiFI akses point
- pilihan
- tapak dan domain sendiri (untuk mengendalikan pertanyaan kompleks tapak popular)
Sebelum meneruskan langkah-langkah seterusnya, pastikan persekitaran yang anda muat turun lakaran disokong oleh keluarga mikropengawal ESP. Untuk mengkonfigurasi Arduino IDE, pergi ke habr dan ikuti arahan pemasangan. Pautan:
https://habr.com/en/post/371853/
Penerangan pembuatan terperinci:
Secara konvensional, peringkat boleh dibahagikan kepada 2 bahagian.
1 Perhimpunan bahagian "besi"
2 Memuat turun program dan menetapkannya
Perhimpunan peringkat pertama berakhir sangat cepat. Kami mengumpulnya dari imej di atas dan itu sahaja.
Modul paparan
VCC - 5V
GND - GND
SCL - D15
SDA - D14
Buttun - GND ke D7
Semua tetapan ini boleh diubah dalam lakaran itu sendiri, jika anda mempunyai platform atau versi yang berbeza dari mikrokontroler tersebut.
Tahap kedua adalah sedikit lebih rumit, buka Arduino IDE, pilih papan yang sesuai dan tunjukkan port yang terletak. Dalam kes saya, lembaga: WeMos D1 R1 dan port 3
Semua tetapan lain boleh ditinggalkan secara lalai.
Lakaran itu sendiri:
Sila ambil perhatian bahawa anda mesti mempunyai 2 perpustakaan tambahan yang dipasang. Ini adalah ArduinoJson.h dan LiquidCrystal_I2C.h !
Kemudian kami menukar pembolehubah penting dalam tetapan lakaran, ini adalah SSID (nama titik Wifi) dan kata laluan (kata laluan titik Wifi)
Selepas itu, anda boleh memuat turun firmware.
Jika paparan telah disambung dengan betul, maklumat berikut akan dipaparkan di atasnya.
Jika ini tidak berlaku, periksa tetapan berikut.
Sila masukkan alamat I2C yang sah c. Walau bagaimanapun, lebih baik buat kali pertama selepas memuat turun lakaran untuk membuka port Serial, dan pastikan sambungan telah berjaya ditubuhkan.
Jika ini tidak berlaku, semak semula data titik WiFi.
Sekiranya semuanya berjaya dipangkas dan disambungkan, maka pada paparan anda harus melihat perkara berikut:
Anda juga boleh mengklik pada butang dan periksa jika data dikemas kini (jika anda menyambungkannya).
Segala-galanya, pada tahap ini 95% dari pekerjaan itu selesai, ia tetap hanya untuk menunjukkan dalam konfigurasi data yang perlu dihuraikan. Mereka semua tetap "A"
const String A = "http://jsonplaceholder.typicode.com/users/1,name,User 1: http: //jsonplaceholder.typicode.com/users/2,name,User 2:;";
Oleh itu, sintaks untuk menulis adalah mudah. Semua sumber dibahagikan kepada kumpulan yang dipisahkan oleh titik koma (;).
Setiap kumpulan terdiri daripada 3 parameter utama, ini
- URL yang permintaannya akan dituju
- Nilai untuk diambil.
- Teks tambahan dipaparkan.
Dengan cara ini
http://jsonplaceholder.typicode.com/users/1,name,User 1:
==URL = http://jsonplaceholder.typicode.com/users/1
KEY = nama
text = "User 1:"
Sekiranya anda mengikuti pautan sekarang
http://jsonplaceholder.typicode.com/users/1
Kemudian anda dapat melihat maklumat berikutDi mana sebenarnya ia dapat dilihat dari mana nilai "nama" berasal.
Oleh itu, anda sudah dapat mengekstrak maklumat dari laman web yang mudah. Tetapi kaedah ini tidak sesuai untuk bekerja dengan laman-laman "serius" yang bekerja dengan sijil SSL, yang memeriksa permintaan dan memaparkan captcha mana-mana jika mereka tidak menyukai sesuatu, dan selain itu, output data terlalu rumit untuk diproses oleh pasukan arduino. " Kerana saya tidak cuba "melangkah" semua ini, tetapi ada perkara-perkara yang sama-sama bekerja sangat tidak stabil atau tidak berfungsi sama sekali. Kemas kini sijil yang berterusan tidak banyak membantu. Oleh itu, seperti yang saya percaya, penyelesaian yang paling munasabah adalah untuk membuat laman web anda sendiri, "dalam" yang mana semua permintaan ini akan dilaksanakan, diproses dan dipaparkan oleh arduino sendiri dalam bentuk "mudah". Cara membuat laman web terdapat banyak artikel / video / forum, dan lain-lain, pada masa ini ini tidak menjadi masalah. Katakan anda mempunyai satu, kemudian muat naik fail berikut kepadanya. Panggil apa yang anda suka, dengan baik, katakan "pars.php".
php
/ *
Kod untuk menghuraikan maklumat dari tapak, dan paparan selanjutnya
Versi v0.1, jika terdapat sebarang kesilapan, sila tulis komen di bawah video