Isi kandungan:

EasyTalk: Komunikasi Mudah dan Kalendar Di Sebelah Anda: 6 Langkah
EasyTalk: Komunikasi Mudah dan Kalendar Di Sebelah Anda: 6 Langkah

Video: EasyTalk: Komunikasi Mudah dan Kalendar Di Sebelah Anda: 6 Langkah

Video: EasyTalk: Komunikasi Mudah dan Kalendar Di Sebelah Anda: 6 Langkah
Video: 3 Langkah Mudah Sinkronisasi Agenda Melalui Google Calendar 2024, November
Anonim
EasyTalk: Komunikasi Mudah dan Kalendar di Sebelah Anda
EasyTalk: Komunikasi Mudah dan Kalendar di Sebelah Anda
EasyTalk: Komunikasi Mudah dan Kalendar di Sebelah Anda
EasyTalk: Komunikasi Mudah dan Kalendar di Sebelah Anda

Nama saya Kobe Marchal, saya belajar di Howest, Belgium dan saya pelajar Teknologi Multimedia dan Komunikasi (MCT). Untuk tugasan terakhir tahun pertama saya, saya terpaksa membuat peranti IoT.

Di rumah kita menghadapi masalah bahawa adik saya selalu bermain dan ketika ibu saya perlu memberitahunya sesuatu dari bawah, dia perlu berteriak kerana dia memakai fon kepala dan tidak dapat mendengar apa-apa. Saya ingin menyelesaikan masalah ini untuknya, jadi saya membina peranti di mana anda boleh menghantar mesej dari laman web. Ia juga digunakan sebagai kalendar di mana anda boleh menyimpan acara anda sendiri atau mengimport kalendar luaran melalui URL. Peranti ini juga menyimpan nilai suhu dan kualiti udara sehingga anda dapat melihat betapa sihatnya ketika anda bermain atau bekerja kerana anda sering tidak menyedarinya.

Peranti ini dipanggil EasyTalk dan menyelesaikan masalah ini. Ini adalah peranti kecil yang menggunakan skrin OLED sehingga anda dapat melihat peristiwa, waktu atau suhu dan kualiti udara anda sekarang. Semasa mesej dihantar, ia memberi tahu anda dengan suara pemberitahuan dan menunjukkan mesej di layar di mana anda dapat menjawab dengan ya atau tidak.

Sekiranya anda ingin membina perkara ini atau anda ingin melihat bagaimana ia dibuat, saya sangat menyarankan untuk terus membaca. Sekiranya anda ingin mengetahui lebih lanjut mengenai saya, anda boleh pergi ke portfolio saya.

Langkah 1: Bahan

Bahan
Bahan
Bahan
Bahan
Bahan
Bahan

Langkah pertama adalah mengumpulkan semua bahan yang akan digunakan dalam projek ini. Saya akan jujur dengan anda. Ini bukan peranti yang murah, kos keseluruhan adalah € 271. Berikut adalah senarai mereka dan beberapa gambar untuk diperjelaskan.

  • Raspberry Pi 4 Model B - 4GB
  • Pibow Coupé 4 - Ninja
  • 12 x Jalur op premium Jumperwires - 40 stuk - M / M - 20cm
  • 6 x Jalur op premium Jumperwires - 40 stuk - M / F - 20cm
  • Header susun 2 x 36-pin
  • Header kotak lelaki 40 pin
  • Regenboog GPIO kabel 40 pin
  • Kit Modul Paparan Grafik OLED Monochrome 2.42 "128x64
  • Speaker Kleine Metalen bertemu Draadjes - 8 ohm 0.5W
  • Adafruit Mono 2.5W Kelas D Audio Versterker
  • Kabel Aux Jack 3.5mm
  • Butang Push Momentary 7mm utas
  • Tuimelschakelaar
  • PIR Bewegingssensor
  • Sensor temperatuur Digitale DS18B20
  • Grove - Sensor Lucht kwaliteit v1.3
  • Grove - I2C ADC
  • Raspberry Pi 4 USB-C Voeding
  • Flexibel mini-statief
  • 470 perintang Ohm
  • Perintang 4, 7K Ohm
  • Tiub mengecilkan haba
  • 6 x Skru M2 x 6mm
  • 6 x Skru M2 x 8mm
  • 3 x Skru M2 x 16mm
  • Aluminiumbuis 3 mm

Saya juga membuat Bill Of Materials (BOM) supaya anda dapat melihat berapa banyak yang saya bayar untuk semua bahan dan dari mana saya mendapatkannya.

Langkah 2: Raspberry Pi

Untuk projek ini, kami menggunakan Raspberry Pi kerana senang disiapkan dan boleh digunakan untuk banyak perkara. Ia sangat sesuai untuk apa yang ingin kita lakukan.

Muat turun OS Desktop Raspberry Pi dan pasangkannya pada Raspberry Pi anda. Anda perlu mengaktifkan SPI, I2C dan One Wire dalam raspi-config. Saya cadangkan untuk melumpuhkan beberapa perkara dalam Pilihan Boot juga untuk menjadikannya boot lebih pantas. Selain daripada itu saya menggunakan beberapa perpustakaan yang harus anda pasangkan dengan pip untuk menjayakannya.

memasang pip3:

  • adafruit-circuitpython-ssd1305
  • ics
  • Kelalang
  • Kelalang-Cors
  • Flask-JWT-Diperpanjang
  • mysql-penyambung-python

Anda juga memerlukan apache2 untuk menyiapkan laman web, di sini kami menggunakan apt:

sudo apt install apache2 -y

Anda perlu membuat sambungan tanpa wayar kerana anda tidak dapat mendapatkan kabel UTP di Raspberry Pi ketika itu berlaku.

Anda juga perlu menyediakan MariaDB supaya anda dapat mengakses pangkalan data.

Langkah 3: Pendawaian

Pendawaian
Pendawaian
Pendawaian
Pendawaian

Langkah seterusnya adalah menyatukan semuanya dan menguji apakah semua komponen berfungsi. Saya membuat PCB untuk mengeluarkan papan roti dan membuat pendawaian lebih rendah sehingga peranti boleh menjadi lebih kecil. Ini perlu kerana ia akan berada di sebelah monitor anda dan tidak memerlukan banyak ruang sehingga tidak mengalihkan perhatian anda dari pekerjaan anda.

Langkah 4: Pangkalan Data

Pangkalan data
Pangkalan data

Peranti ini menggunakan pangkalan data MySQL yang dinormalisasi untuk menyimpan semua maklumat dan menunjukkannya di laman web dan peranti itu sendiri. Saya membuatnya di MySQL Workbench.

Terdapat 5 jadual dalam pangkalan data ini.

Table Activiteiten (= aktiviti, acara) digunakan untuk menyimpan semua acara kalendar. Ini juga merangkumi semua acara yang diimport dari kalendar lain.

Table Apparaten (= devices) digunakan untuk menyimpan pelbagai jenis peranti yang digunakan dalam jadual Historiek (= sejarah). Terdapat dua sensor yang digunakan dalam projek ini, sensor suhu dan sensor kualiti udara tetapi saya juga mempunyai "peranti" ketiga, laman web itu sendiri untuk menyimpan mesej yang dihantar dari laman web ke peranti.

Table Gebruikers (= pengguna) menyimpan pengguna. Mereka boleh log masuk dengan kata laluan mereka dan menentukan nama panggilan yang muncul dengan mesej ketika dihantar ke peranti.

Jadual Historiek (= sejarah) digunakan untuk menyimpan nilai sensor dan mesej yang dihantar ke peranti.

Dan akhirnya jadual Pautan (= URL) menyimpan semua URL kalendar luaran.

Langkah 5: Kod

Kod
Kod
Kod
Kod
Kod
Kod

Saya cadangkan untuk menjadikan pengguna baru kerana itu adalah amalan terbaik tetapi tidak perlu, anda juga boleh menggunakan pengguna pi lalai.

Kod frontend dimasukkan ke dalam folder html lalai dari apache2. Anda boleh mendapatkan folder ini di / var / www / html.

Untuk backend, anda perlu membuat folder di folder rumah anda dan memasukkan semua kod di dalamnya.

Kita juga perlu mengubah beberapa nilai dalam kod ini. Mula-mula pergi ke app.py. Pada baris 23 tetapkan nama sensor suhu satu wayar. Ini mungkin akan menjadi sesuatu yang berbeza bagi anda. Untuk mencari nama yang tepat, buka terminal dan taip:

ls / sys / bus / w1 / peranti

dan cari rentetan yang terdiri daripada beberapa nombor berbeza dan ganti yang satu pada baris 23.

Perkara lain yang perlu kita ubah adalah dalam fail config.py, menukar kata laluan pangkalan data.

Sekiranya anda mahu ini dijalankan semasa boot, anda juga harus menukar fail perkhidmatan EasyTalk.service. Cukup ubah Direktori Kerja dan Pengguna. Anda harus menyalin fail ini dengan arahan seterusnya:

sudo cp EasyTalk.service / etc / systemd / system / EasyTalk.service

Kemudian jalankan:

sudo systemctl mulakan EasyTalk.service

Dan kemudian aktifkan sehingga ia akan dimulakan semasa boot

sudo systemctl aktifkan perkhidmatan EasyTalk.service

Langkah 6: Kes

Kes
Kes
Kes
Kes
Kes
Kes
Kes
Kes

Saya memutuskan untuk mencetak 3D kotak itu sehingga sekecil mungkin. Cetakan terdiri daripada 3 bahagian, kotak itu sendiri, penutup dan pemegang pembesar suara kerana ini tidak mempunyai lubang untuk mengacaukan bolt.

Anda juga memerlukan keberanian untuk menyatukan semuanya.

  • 6 x Skru M2 x 6mm
  • 6 x Skru M2 x 8mm
  • 3 x Skru M2 x 16mm

Saya akan jujur sekalipun. Saya mengambil masa 4-5 jam untuk membina perkara ini. Oleh kerana ia sangat kecil, semuanya sesuai dan sukar untuk mencetak tebal pada kadangkala tetapi ia berfungsi jika anda melakukannya dengan berhati-hati.

Saya juga merancang PCB untuk menggantikan papan roti, pertama anda perlu menyolder header dan 5 perintang (4 x 470 Ohm, 1 x 4.7K Ohm).

Apabila anda mempunyai PCB, saya cadangkan untuk memulakan dengan kabel pematerian ke semua yang sepatutnya disambungkan ke PCB.

Apabila ini selesai, anda akan memasang paparan OLED untuk meletakkan dan menyambungkan PCB ke dalamnya. Paparan memegang PCB. Anda menggunakan skru 6mm untuk ini.

Kemudian anda memasang sensor kualiti udara di mana ia sepatutnya pergi tetapi ini agak rumit kerana ADC menghubungkannya. Untuk melakukan ini dengan betul supaya kedua-dua komponen tidak saling menyentuh, anda menggunakan skru 16mm dengan tiub aluminium 3 x 5mm yang mesti anda lihat. Saya melakukan ini dengan dua skru kerana saya tidak dapat mencapai yang ketiga. Anda menyambungkan 4 wayar di tempat yang sepatutnya dipasang pada PCB.

Kemudian anda sambungkan penguat audio ke PCB dan pasangkan pembesar suara dengan pemegang dicetak 3D.

Selepas langkah-langkah ini, bahagian yang paling sukar selesai dan anda boleh menyambungkan semua yang lain ke PCB dan pasangkannya ke tempatnya. Perhatikan bahawa dalam foto yang anda lihat saya menggunakan sensor suhu yang berbeza, untuk produk akhir, saya menggunakan sensor suhu dengan kabel panjang yang keluar dari kotak kerana ia mengukur panas dari dalam kotak.

Apabila semua ini berada di tempatnya, anda mesti memasukkan Raspberry Pi ke dalam. Saya menggunakan casing ini kerana saya tidak mempercayai panas yang dihasilkannya, beg ini ada untuk perlindungan supaya cetakan 3D tidak meleleh. Sebelum memasukkannya ke tempatnya, anda harus menyambungkan kabel kuasa dan kabel aux (bahawa anda perlu membuka dan menyolder satu wayar ke dan kemudian menyambung dari Raspberry Pi ke PCB) kerana anda tidak dapat mencapainya selepas itu.

Kemudian sambungkan kabel header GPIO dari PCB ke Raspberry Pi dan uji apakah semuanya berfungsi sebelum menutup penutupnya.

Di bahagian bawah terdapat lubang di mana anda boleh menyambungkan tripod tetapi ini adalah pilihan.

Itu sahaja! Saya harap anda seronok membaca artikel ini! -Kobe

Disyorkan: