Sematkan perangkat Smart Home Anda di ekosistem SmartThings

Platform Smart Home memungkinkan Anda untuk mengintegrasikan perangkat dan membuat skenario baru untuk interaksinya. Efek platform diketahui: pengguna lebih cenderung memilih salah satu yang kompatibel dengan perangkat yang ada, daripada beralih ke yang baru. Oleh karena itu, mungkin lebih menguntungkan bagi pengembang perangkat cerdas baru untuk berintegrasi ke platform yang sudah selesai, dengan fokus pada produk "besi", daripada mengembangkan "sepeda" mereka sendiri dalam bentuk ekosistem awan dan akun pribadi.

Mari kita lihat bagaimana mengintegrasikan perangkat Anda sendiri dengan platform Samsung SmartThings Smart Home. Kami menerapkan opsi koneksi langsung untuk mengendalikan perangkat Smart Home menggunakan contoh sakelar tombol dan bola lampu tiga warna. 




Mengapa kita membutuhkan platform Smart Home?


Sekarang gadget dan perangkat pintar sedang dijual - sebanyak yang Anda inginkan. Tidak masalah membeli ketel dengan kontrol Bluetooth atau bola lampu dengan WiFi. Tetapi apakah ini membuat rumah Anda β€œpintar”? Situasi tidak jarang: bola lampu dikendalikan hanya melalui aplikasi seluler dari pabrikan. Ini menciptakan ketidaknyamanan jika Anda mencoba menggabungkan setidaknya beberapa merek berbeda. Oleh karena itu, platform yang ideal adalah platform yang memungkinkan Anda mengelola perangkat dari berbagai produsen dengan cara yang sama.

Selain itu, saya ingin melihat "komputer larut dalam kehidupan sehari-hari", sebagaimana Mark Weiser dari Xerox PARC memimpikannya: tidak mengontrol melalui aplikasi khusus, jangan menyemprotkan fokus perhatian Anda. Saya ingin interaksi alami dengan lingkungan yang cerdas yang tidak mengubah kebiasaan kita. Bagaimana cara mengimplementasikannya secara teknis? Misalnya, ini mungkin merupakan skenario di mana perangkat heterogen di dalam rumah terlibat: Anda bangun - perangkat yang dapat dipakai mendeteksi ini dan ketel dihidupkan; Anda pulang - sensor di pintu merekam ini, dengan mempertimbangkan waktu hari, gorden ditutup, lampu dinyalakan, dan AC menyala mempertimbangkan suhu.

Skenario menjadi lebih berguna jika kita menggunakan Internet: misalnya, untuk memeriksa jarak jauh apakah outlet dengan setrika dimatikan. Atau contoh biasa: rumah pintar Anda melihat ramalan cuaca dan memberi Anda saran tentang cara berpakaian terbaik. Atau Anda dapat menambahkan kontrol suara melalui speaker pintar.

Platform Smart Home dirancang untuk semua ini. Pertimbangkan apa yang dapat dilakukan platform Samsung SmartThings.

Latar Belakang - Apa itu SmartThings?


SmartThings dimulai sebagai startup. Pada saat ia muncul, pada tahun 2012 di Amerika Serikat, topik "Smart Home" belum menjadi puncak hype, masih belum ada speaker pintar dan berbagai gadget di toko. Gagasan itu muncul pada pendiri startup, Alex Hawkinson, setelah satu kejadian: rumah keluarganya di Colorado menderita karena pipa-pipa air sangat beku setelah pemadaman sementara, mereka pecah, dan seluruh lantai banjir. Kemudian dia berpikir bahwa dia bisa mencegah masalah jika dia tahu tentang apa yang terjadi di rumah. 

Setelah gagal mencari solusi turnkey, Hawkinson dan rekan-rekannya membuat prototipe perangkat dan meluncurkan kampanye di Kickstarter. Kampanye ini terlalu sukses, meningkatkan $ 1.200.000 daripada yang direncanakan $ 250.000 dalam 30 hari. Penjualan hub hub dengan satu set kecil perangkat dalam kit telah dimulai: soket pintar, sensor pintu terbuka, sensor gerak, sensor keberadaan. Dan pada tahun 2019, sudah di bawah merek Samsung SmartThings, versi ketiga dari hub dirilis.


Kunci kesuksesan di Kickstarter adalah ketersediaan prototipe besi dan perangkat lunak yang berfungsi, dan keramahan kepada komunitas pembuat

Pembuat startup telah meninggalkan lingkungan DIY, sehingga mereka secara konsisten mengembangkan konsep API terbuka untuk pembuat geek yang dapat bertindak sebagai pengadopsi awal pada tahap awal. Dalam kampanye Kickstarter, ada perisai untuk Arduino dan berbagai modul cloud untuk menghubungkan perangkat pihak ketiga Anda dengan mulus. Di Internet, Anda dapat menemukan banyak contoh perangkat buatan sendiri yang kompatibel dengan SmartThings, apakah itu pintu kandang ayam yang dikontrol (dengan solusi tugas hidup yang serius - untuk menyelamatkan ayam dari bulu predator), atau pemasangan jarak jauh kode kunci elektronik untuk tamu dengan Airbnb.


Sumber foto: https://www.hackster.io/aaronpk/auto-airbnb-entry-745799

Pada 2012-2013, SmartThings melewati beberapa putaran investasi dan menerima $ 12,5 juta. Dan akhirnya, pada tahun 2014, ia menjadi tertarik pada Samsung dan diakuisisi dengan $ 200 juta sebagai bagian dari strategi untuk memasuki pasar Internet of Things.
Kemampuan cloud platform tetap gratis: penulis, sekarang karyawan Samsung, tidak termasuk kemungkinan teoretis untuk menagih volume lalu lintas yang besar, menekankan: akan selalu ada opsi gratis untuk pengembang perangkat. Ini bagus, karena sekarang hampir semua layanan cloud menyediakan untuk monetisasi, dan seringkali bahkan untuk masa percobaan Anda perlu melampirkan kartu bank. SmartThings adalah platform yang sepenuhnya gratis.

Arsitektur SmartThings




Mari kita pindahkan polanya dari kiri ke kanan.

Perangkat


Perangkat SmartThings - ini bukan hanya perangkat dari suite SmartThings , tetapi juga banyak mitra pihak ketiga dari daftar mitra.



Jika perangkat tidak ada dalam daftar yang didukung secara resmi, Anda dapat mencari Device Handler di dalamnya - itu dapat disediakan oleh komunitas pengembang - atau menulis milik Anda sendiri.

Metode Koneksi


Anda dapat menghubungkan perangkat ke platform dengan cara berikut:

  • Hub-terhubung - melalui hub hub, relevan untuk perangkat yang tidak memiliki koneksi Internet, tetapi terhubung melalui jaringan nirkabel tradisional seperti ZigBee untuk sistem seperti itu. 
  • Terhubung langsung - via Internet langsung ke cloud. SmartThings baru-baru ini merilis camcorder, bola lampu dan soket pintar, dan mereka bekerja tanpa hub - via WiFi. Ini adalah opsi yang akan kami terapkan dalam panduan ini.
  • Terhubung cloud - melalui cloud pihak ketiga untuk perangkat yang sudah memiliki ekosistem cloud sendiri. Ini lebih rumit, oleh karena itu kami tidak akan mempertimbangkan opsi seperti itu.

Pusat


Biasanya, untuk menghubungkan berbagai peralatan di rumah Anda haruslah server kecil khusus "Smart Home" yang mendukung berbagai protokol. Dia - hub, hub, gateway - namanya berbeda.


Hub dan satu set perangkat untuk itu. Sumber foto: IXBT .

aplikasi


SmartThings App adalah aplikasi yang dapat diinstal pada OS seluler utama dan dengan bantuannya: menambahkan perangkat baru ke sistem, mengontrol perangkat yang sudah ditambahkan, mengatur aturan otomatisasi, menerima pemberitahuan melalui push dan SMS, dan banyak lagi. 



Abstraksi


Dalam SmartThings, seperti pada banyak platform rumah pintar lainnya, ada abstraksi berikut: kamar, adegan, skenario. 

Perangkat dikelompokkan ke dalam kamar. Anda cukup melampirkan gadget ini atau itu ke satu ruangan dalam aplikasi, dan menyebutnya "Dapur", "Kamar Mandi", "Lorong".

Masih ada adegan (Pemandangan) - ini adalah situasi: "tidur", "istirahat", "bekerja", "menonton film" - masing-masing situasi dikarakteristikkan dengan rangkaian perangkatnya masing-masing.


Adegan dan ruangan di layar aplikasi

Dan akhirnya, skrip (Rutin): aturan otomatisasi jika-maka. Secara default, program ini memiliki empat skenario: "Saya kembali", "Selamat malam", "Selamat tinggal", "Selamat pagi". Anda dapat mengkonfigurasi aktivasi skrip sesuai dengan kondisi pagi hari, atau dalam kasus perpindahan, atau dalam kasus membuka pintu, dan sebagainya. Contoh nontrivial: ketika saya memasuki rumah - memblokir lalu lintas jaringan pada kamera pengintai rumah saya untuk mencegah kebocoran video pribadi saya. Atau contoh pendidikan yang kejam: lepaskan tablet dengan paksa dari jaringan saat jam 11 malam untuk mencegah diri Anda menempel di Internet daripada tidur yang sehat.



Selain itu, dalam program SmartThings di telepon, ada peluang menarik - menghafal tindakan-tindakan biasa. Ketika Anda sering menggunakan telepon, seiring waktu, ponsel mulai memberi tahu Anda cara terbaik untuk mengonfigurasi adegan berdasarkan aplikasi yang paling sering diluncurkan.

Untuk menambahkan perangkat baru ke sistem, sistem plug-in disediakan. Pengembang dapat memprogram plug-in untuk perangkatnya sendiri - antarmuka pengguna di dalam aplikasi SmartThings dan logika perangkat. Ini pada dasarnya adalah aplikasi web. Dari sudut pandang pengembang, plugin dapat berlangganan acara atau notifikasi dari perangkat, mengiriminya pesan, memonitor status koneksi dengan perangkat. Ada dokumentasi yang jelas tentang siklus hidup plugin.

Mereka diunduh oleh pengguna dari "plug-in store" sebagaimana diperlukan, agar tidak mengembang aplikasi di telepon.



Tetapi sekarang kami tidak akan melakukan plug-in, tetapi kami akan membuatnya lebih sederhana: kami akan menambahkan perangkat buatan sendiri dengan hanya menggunakan alat platform standar.

Membuat perangkat Anda kompatibel dengan SmartThings


Anda mungkin memiliki pertanyaan: mengapa? Apa gunanya membuatnya kompatibel jika Anda seorang pengembang perangkat?

  • Keuntungan utama adalah peningkatan nilai produk karena integrasi otomatis dengan seluruh ekosistem.
  • Di bawah kondisi lulus pengujian fungsional, Anda dapat menempelkan logo: "Kompatibel dengan SmartThings" pada kotak produk, dengan demikian menjamin pemasangan dan konfigurasi perangkat yang bebas masalah di ekosistem SmartThings.
  • Seperti halnya platform apa pun, tugas Anda difasilitasi: Anda tidak perlu lagi mencoba dan mengembangkan, misalnya, antarmuka pengguna - Anda dapat menggunakan tombol standar dan elemen lain dari antarmuka SmartThings.
  • Anda mendapatkan PR dan pemirsa pengguna berkat komunitas SmartThings (aktif dan aktif).

Dalam manual di bawah ini, kita akan menghubungkan perangkat kita sendiri yang sepenuhnya tersuai.

Apa yang diusulkan untuk dilakukan


SmartThings Device SDK (STDK) baru-baru ini dipresentasikan di Samsung Developer Conference pada Oktober 2019. Di bawah ini kami menawarkan terjemahan manual untuk SDK ini. Dan bukan hanya terjemahan: kami melakukan hal yang sama dan mengulanginya dengan tangan kami sendiri, sehingga akan ada beberapa komentar praktis yang melampaui manual asli.

Bagaimana hasil akhir akan terlihat seperti yang ditunjukkan dalam video:


Lampu RGB terhubung ke platform SmartThings melalui WiFi, dan Anda mengontrolnya melalui telepon. Lampu itu sendiri diterapkan dengan cara termurah dan termudah - pada chip ESP8266 yang sangat populer. Besi tidak penting: dapat dilakukan pada mikrokontroler apa pun, karena SDK ditulis dalam C, diletakkan dalam domain publik dan dapat diangkut jika diinginkan. ESP tidak mungkin untuk diproduksi (sebagai permulaan, lebih mudah menggunakan antarmuka lain di Smart Home daripada WiFi), tetapi cukup cocok untuk model dan ilustrasi.

Fungsi "bola pintar" yang dihasilkan adalah sebagai berikut: Kontrol RGB-LED menggunakan roda warna pada ponsel. Serta mematikannya dan menggunakan tombol.
Proses pengembangan ditunjukkan dalam diagram:


Proses yang ditunjukkan tidak sulit, beberapa langkah dapat dibalik, yang akan kami tunjukkan dalam manual.

Besi


Manual asli menunjukkan segalanya pada contoh papan WeMos D1 Mini, ini adalah papan debug berbasis ESP8266 yang dapat dimasukkan ke papan tempat memotong roti. Secara umum, tidak ada yang rumit di dalamnya, itu hanya modul chip ESP Cina yang super populer di kalangan penggemar, disolder untuk kenyamanan ke papan yang lebih luas dalam ukuran papan tempat memotong roti. Karena itu, Anda dapat melakukan semuanya di papan lain.


Kiri: WeMos D1, kanan - Troyka WiFi Shield

Lembut


Apa yang Anda butuhkan untuk membangun contoh:

  • Versi Ubuntu Linux tidak lebih rendah dari 18,04 (Anda dapat membangun contoh untuk Windows dan MacOS, tetapi untuk kepastian kami memilih Linux)
  • Android 1.7.39, iOS 1.6.41-343. Play Market SmartThings, Samsung Account. Samsung, .
  • ESP8266 SDK. , , , :

    git clone https://github.com/espressif/ESP8266_RTOS_SDK.git

    SDK IDF_PATH:

    nano ~/.bashrc
    export IDF_PATH="~/git/ESP8266_RTOS_SDK:$IDF_PATH"
  • :

    sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-cryptography python-future python-pyparsing python-pyelftools

    ():

    sudo mkdir /opt/Espressif
    sudo chown username /opt/Espressif/
    cd /opt/Espressif
    wget https://dl.espressif.com/dl/xtensa-lx106-elf-linux64-1.22.0-100-ge567ec7-5.2.0.tar.gz
    tar -xzf ./xtensa-lx106-elf-linux64-1.22.0-100-ge567ec7-5.2.0.tar.gz
    cd xtensa-lx106-elf
    export PATH="/opt/Espressif/xtensa-lx106-elf/bin:$PATH"

  • Smart Things Device SDK C – . github, , , .

    git clone https://github.com/SmartThingsCommunity/st-device-sdk-c-ref.git
    cd st-device-sdk-c-ref
    ./setup.sh esp8266



Perangkat berikut akan dianggap sebagai contoh: sakelar pintar dan bola lampu pintar. Kami akan mulai dengan smart switch, lebih sederhana dan tidak memerlukan periferal eksternal.

Langkah 1. Daftarkan perangkat Anda.


Pekerjaan dimulai di SmartThings Developer Workspace , di mana Anda harus masuk menggunakan Akun Samsung Anda. Akun ini dibuat secara gratis, dan untuk membuatnya tidak perlu memiliki ponsel Samsung. 



Di Ruang Kerja Pengembang, Anda langsung ditawari untuk membuat proyek pertama. Kami setuju, setelah itu, dari dua opsi proyek, Anda harus memilih Integrasi Perangkat.



Pilihan akan diberikan tiga opsi untuk mengintegrasikan perangkat: 

  • SmartThings Cloud Connector - untuk menghubungkan perangkat yang memiliki cloud sendiri yang akan terhubung ke cloud SmartThings
  • SmartThings Hub tidak tersedia untuk ZigBee, Z-Wave, perangkat Bluetooth, dan pada saat penulisan, karena hub belum secara resmi dijual di Rusia.
  • Koneksi Langsung adalah pilihan termudah untuk terhubung secara langsung, tanpa perantara. 

Pilih opsi ketiga. Pikirkan nama proyek, misalnya, untuk kesederhanaan - SmartSwitch.



Tambahkan profil perangkat. Berbicara dalam hal OOP, profil perangkat adalah "kelas" seperti itu, dan perangkat tertentu adalah "instance kelas".

Kita perlu menentukan karakteristik fungsional perangkat dalam hal Kemampuan SmartThings. Anda dapat membaca tentang "kemampuan" umum perangkat di manual.



Kami mengisi kolom dengan nilai-nilai kami. Misalnya, nama profil dapat dimasukkan Test Switch Profile, deskripsi - teks apa pun, tipe perangkat - Switch, Vendor ID - teks apa pun. "Jenis Perangkat" memengaruhi ikon perangkat Anda dan antarmuka pengguna. Tidak banyak jenis perangkat yang mungkin ada dalam daftar (walaupun ada yang eksotis, misalnya WineCellar - lemari anggur), jadi jika Anda tidak menemukan milik Anda, jangan berkecil hati dan pilih saja yang terdekat dan terdekat. Di layar terakhir (Kontrol Dasbor) Anda tidak dapat mengubah apa pun.

Setelah membuat profil, jangan lupa klik tombol "Tambah profil perangkat ke proyek" di kanan atas.



  • Penting: Pemeriksaan Kesehatan diperlukan untuk semua perangkat yang terhubung langsung. Tambahkan ke profil perangkat. 
  • Β« Β» : Switch, Health Check.

Sekarang tambahkan profil otentikasi (Onboarding profile). Singkatnya, di profil ini Anda dapat menyesuaikan layar yang muncul saat Anda pertama kali terhubung dan masuk. Masukkan nama dan nomor tiga digit apa saja. Anda dapat melewati dua layar lainnya untuk saat ini. Pada layar terakhir, pilih opsi konfirmasi - Konfirmasi Tombol - dengan menekan tombol pada perangkat. Dalam manual ini, kami berasumsi bahwa Anda memiliki papan dengan tombol bawaan. Jika tiba-tiba tidak ada tombol (misalnya, Anda menggunakan modul ESP lain), maka Anda dapat memilih opsi tanpa otentikasi sama sekali - ini disebut Just Works, artinya, "hanya berfungsi" tanpa pertanyaan.

Dan lagi, dengan analogi dengan contoh sebelumnya, jangan lupa untuk mengklik tombol "Tambahkan perangkat orientasi ke proyek".



Yang tersisa hanyalah mengklik tombol Deploy. Setelah itu, Anda dapat melihat perangkat Anda di aplikasi SmartThings - tetapi hanya dalam Mode Pengembang. Jika Penyebaran tidak didorong, dan mereka menulis "Silakan tambahkan Nama Model" - ini berarti bahwa Anda tidak menentukan ID Onboarding Perangkat, gulir ke bawah halaman di bawah ini dan lakukan - masukkan nama apa pun pilihan Anda.



Sekarang Anda dapat mulai menguji perangkat virtual Anda di ponsel Anda.

Seluruh langkah pertama ditunjukkan secara rinci dalam video:


Daftarkan perangkat di cloud


Sebelum Anda mulai bekerja dengan perangkat keras yang sebenarnya, Anda perlu melakukan sesuatu yang lain. Setelah menekan tombol Deploy, layar akan terlihat berbeda: bidang Device Identity baru akan muncul di sana. 


Untuk mengotentikasi perangkat Anda di cloud SmartThings, Anda harus memasukkan nomor seri dan kunci publik (dengan skema tanda tangan ED25519). Ini cukup mudah.

Contoh ini menunjukkan cara membuat sepasang kunci ED25519 menggunakan alat di SDK. Anda akan mendapatkan file device_info.json sebagai hasil program di folder tools / keygen / linux / output_ {serialNumber}

Versi Linux dari keygen terletak di st-iot-device-sdk-c-reference / iot-core / tools / keygen / linux atau di st-device-sdk-c / tools / keygen / linux

Nomor seri untuk perangkat uji akan dihasilkan secara acak dalam format STDK + [MNID] + format alfanumerik (8 karakter). Anda dapat menemukan MNID Anda di profil pengembang di bagian Kelola Akun. 





Selanjutnya, untuk menghasilkan bagian alfanumerik, Anda harus memasukkan MNID (4 karakter) sebagai parameter keygen. Dalam contoh di bawah ini, MNID adalah fJ * c.


    cd ~/Workspace/st-iot-device-sdk-c-ref/iot-core/tools/keygen
    ./stdk-keygen -m fJ*c
    Go Device Identity of Developer Workspace.
    
    Serial Number:
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ STDKfJ*c    β”‚ abed**5c   β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    
    Public Key:
    waGgyjWIvHhF1LU***FG2hx/4u***ADFHr/ry0j5jbk=

Salin β€œabed ** 5c” dari penerbitan keygen, dan rekatkan ke bidang XXXXXXXX di bagian Pendaftaran Identitas Perangkat. Sebuah jendela akan muncul meminta Anda untuk memasukkan kunci publik.


Salin kunci publik dari penerbitan keygen ("waGgyjWIvHhF1LU *** FG2hx / 4u *** ADFHr / ry0j5jbk =" dalam contoh ini) dan tempel di bidang "Device Public Key".



Langkah 2. Firmware perangkat


Bicara tentang kode yang akan Anda unduh ke perangkat.
Contoh firmware terdapat di folder st-device-sdk-c-ref / apps / esp8266 / . Kami akan tertarik pada contoh st_switch .

  • Unduh onboarding_profile.json di jendela ikhtisar perangkat Anda di kantor pengembang.


  • Salin file onboarding_profile.json yang sudah diunduh ke direktori aplikasi Anda - dalam aplikasi case kami / esp8266 / st_switch / main .

    cd ~/Workspace/st-device-sdk-c-ref/apps/esp8266/st_switch/main/
    cp ~/Downloads/onboarding_profile.json .
    

    Sudah ada contoh file seperti itu - cukup ganti dengan milik Anda.
  • Demikian pula, salin file device_info.json dari folder tools / keygen / linux / output_ {serialNumber} , di mana informasi spesifik perangkat berada, ke folder yang sama, menggantikan file yang ada.

    cd ~/Workspace/st-device-sdk-c-ref/iot-core/tools/keygen/linux/
    cp output_{serialNumber}/device_info.json ~/Workspace/st-device-sdk-c-ref/apps/esp8266/st_switch/main/

    Dalam file ini, selain tombol dan nomor seri, ada baris "firmwareVersion" - dapat diganti dengan versi program Anda.
  • Sekarang, kumpulkan dan pasang program.

    cd ~/Workspace/st-device-sdk-c-ref
    ./build.sh esp8266 st_switch
    ./build.sh esp8266 st_switch flash
    ./build.sh esp8266 st_switch monitor

    Atau sama, tetapi lebih pendek:

    cd ~/Workspace/st-device-sdk-c-ref
    ./build.sh esp8266 st_switch flash monitor


! Jika Anda tidak dapat mem-flash program dengan cara apa pun - kemungkinan besar, Anda lupa meletakkan papan ESP8266 ke mode pemrograman. Ini biasanya dilakukan dengan menekan tombol di papan itu sendiri. Misalnya, modul Wi-Fi Troyka dapat diterjemahkan dengan menahan tombol PROG, lalu menekan dan melepaskan tombol RESET.

Setelah firmware diunduh, jangan lupa untuk me-restart papan.

Langkah 3. Koneksi dan kontrol dari telepon


Aktifkan mode pengembang di aplikasi SmartThings di ponsel Anda. Cara melakukan ini ditulis di situs web resmi, tetapi lebih mudah untuk dijelaskan dengan kata-kata: masukkan pengaturan melalui "gir" dan tekan tombol "Rincian SmartThings" selama 20 detik. Menu "Mode Pengembang" muncul di bawah.



Perangkat kami akan terlihat dalam daftar di aplikasi SmartThings: luncurkan aplikasi, klik tombol plus dan Tambah perangkat. Gulir ke akhir daftar vendor dan lihat ikon "Perangkat Pengujian Saya". Klik dan pilih perangkat Anda.



Selain itu: jika Anda sudah mengaktifkan mode pengembang dan menyalakan perangkat, maka Anda akan memiliki menu pop-up yang menawarkan untuk menambahkan perangkat khusus ini!

Koneksi dimulai :


Kelola perangkat dari aplikasi SmartThings. 

Pada awalnya, perangkat muncul sebagai titik akses, karena belum mengetahui kata sandi untuk WiFi Anda. Selama proses koneksi, Anda menentukan jaringan yang dengannya perangkat harus terhubung. Jika Anda memiliki titik akses tersembunyi, maka ESP tidak akan dapat terhubung, jadi pilih titik terbuka.

Hasilnya akan seperti ini:



Pada contoh ini ( sakelar-st ), Anda mengontrol LED bawaan di papan dengan menekan tombol di papan itu sendiri. Seperti yang Anda lihat, untuk contoh ini Anda bahkan tidak memerlukan periferal tambahan, hanya papan ESP8266 itu sendiri.

Anda juga dapat menghidupkan / mematikan perangkat dengan tombol pada panel kontrol di aplikasi seluler:



Dan tentu saja, jika Anda menekan tombol fisik, status bola lampu dalam aplikasi juga diperbarui.

Contoh Smart Light


Setelah Anda melakukan contoh Smart Switch, mari kita coba sedikit rumit. Akan ada LED RGB, dan kami akan menghidupkan / mematikan tombol eksternal, dan juga memilih warna melalui aplikasi.

Besi


Skema koneksi akan sederhana:

Dan diagram sirkuit juga tidak ada salahnya:



Jika Anda melihat sumbernya (terletak di: st-device-sdk-c-ref / apps / esp8266 / st_lamp), maka koneksi ada yang berikut: Anda dapat menetapkan kembali kesimpulan sesuai dengan yang itu adalah model papan yang Anda miliki. Harap dicatat bahwa ada satu sistem notasi (D1, D2 ...) di papan tulis, dan lainnya dalam kode, tetapi ini mudah diketahui hanya dengan melihat dokumentasi untuk papan Anda.

#define GPIO_OUTPUT_NOTIFICATION_LED 2
#define GPIO_INPUT_BUTTON 5
#define GPIO_OUTPUT_COLORLED_R 16
#define GPIO_OUTPUT_COLORLED_G 14
#define GPIO_OUTPUT_COLORLED_B 12
#define GPIO_OUTPUT_COLORLED_0 13 




Bagian perangkat lunak


Menurut bagian perangkat lunak, kami akan mengubah beberapa langkah:

  • Saat menambahkan Kemampuan, Anda harus menentukan yang berikut: Beralih, Tingkat Beralih, Kontrol Warna, Pemeriksaan Kesehatan. Jenis perangkat akan ada - Cahaya.
  • Kami mengambil contoh firmware dari folder yang sama dengan contoh, itu disebut st_lamp

Antarmuka dalam aplikasi akan



terlihat seperti ini: Bagaimana tampilannya beraksi - sekali lagi GIF:



Kesimpulan


Jadi, Anda memiliki contoh kerja yang siap. Anda melihat bahwa sebagian besar kode telah dilakukan untuk Anda - semua yang terkait dengan koneksi, otentikasi, antarmuka perangkat. Contoh SmartThings berharga karena tidak terikat dengan perangkat perangkat keras apa pun, dan Anda dapat menonton dan mengevaluasi fungsionalitas platform apa yang diperlukan dalam 2k20 jika Anda mengembangkan Smart Home.


Tatyana Volkova - Penulis kurikulum Internet of Things Samsung IT Academy, spesialis dalam program tanggung jawab sosial perusahaan di Samsung Research Center

All Articles