* Artikel ini adalah hasil kerja sama dengan Intel Developer Zone. Artikel asli bisa dilihat di link ini.
Tutorial cara membuat aplikasi alarm pintar ini adalah bagian dari latihan contoh kodingan How-To Intel IoT Technology menggunakan Intel IoT Developer Kit, papan Intel Edison, platform cloud, API, dan teknologi lainnya.
Dari latihan ini, developer akan dapat belajar cara:
Menggunakan papan Intel Edison, proyek ini membuatmu dapat membuat jam alarm pintar yang:
Jam alarm pintar ini memiliki beberapa fitur penting. Penyetelan alarm dapat dilakukan di ponsel kamu menggunakan halaman web yang disajikan langsung dari papan Intel Edison. Ketika alarmnya diaktifkan, suara akan dikeluarkan dan layar LCD akan mengindikasikan saatnya untuk bangun tidur. Ada juga rotary dial dapat digunakan untuk mengatur tingkat pencahayaan layar.
Sebagai tambahan, jam alarm pintar dapat mengkases data cuaca harian melalui API Weather Underground dan menggunakannya untuk mengganti warna layar LCD. Sebagai tambahan, semua data dapat disimpan menggunakan Intel IoT Examples Datastore yang berjalan di akun Microsoft Azure, IBM Bluemix, atau AWS kamu.
Grove Starter Kit Plus yang berisi:
Untuk memulai, klon repositori contoh kode How-To Intel IoT Technology dengan Git dari komputer kamu dengan cara berikut ini:
$ git clone https://github.com/intel-iot-devkit/how-to-code-samples.git
Jika ingin mengunduh file zip-nya, di browser kamu masuk ke halaman https://github.com/intel-iot-devkit/how-to-code-samples dan klik tombol Download ZIP di bagian kanan bawah. Setelah file zip terunduh, buka file zip-nya, dan gunakan file-file yang ada dalam direktorinya untuk contoh di artikel ini.
Di Eclipse, pilih Import Wizard untuk mengimpor proyek yang sudah ada ke dalam workspace seperti di bawah ini:
Kamu memerlukan Grove Base Shield V2 terkoneksi ke sebuah papan breakout yang kompatibel dengan Arduino untuk menyambungkan semua perangkat Grove ke Grove Base Shield V2. Pastikan kamu mengeset saklar VCC pada Grove Base Shield V2 ke 5V.
Contoh ini menggunakan library restclient-cpp untuk melakukan panggilan REST ke server data jarak jauh. Kodingannya dapat dilihat di direktori thelib. Library restclient-cpp memerlukan paket libcurl yang mana sudah terinstal di papan Intel Edison secara bawaan.
Contoh ini juga menggunakan micro-framework web Crow untuk menyediakan server web yang mudah digunakan namun kuat. Library Crow memerlukan paket libboost terinstal di papan Intel Edison dan juga menambahkan file-file include dan lib yang diperlukan ke dalam Eclipse Cross G++ Compiler dan Cross G++ Linker.
vi /etc/opkg/base-feeds.conf
src/gz all http://repo.opkg.net/edison/repo/all src/gz edison http://repo.opkg.net/edison/repo/edison src/gz core2-32 http://repo.opkg.net/edison/repo/core2-32
Ini hanya perlu dilakukan sekali untuk setiap papan Intel Edison. Jadi jika kamu sudah pernah melakukannya, kamu dapat langsung lanjut ke tahap berikutnya.
Intal library boost ke dalam papan Intel Edison menggunakan perintah berikut ini:
opkg update opkg install boost-dev
Kamu perlu mengkopi file library dan include dari papan Intel Edison ke komputer kamu yang mana kamu gunakan untuk menjalankan Eclipse agar Cross G++ Compiler dan Cross G++ Linker dapat menemukan file tersebut. Cara paling mudah untuk melakukan ini adalah dengan menjalankan perintah scp dari komputer kamu (BUKAN dari papan Intel Edison) seperti berikut ini:
scp -r USERNAME@xxx.xxx.x.xxx:/usr/include/boost ~/Downloads/iotdk-ide-linux/devkit-x86/sysroots/i586-poky-linux/usr/include scp USERNAME@xxx.xxx.x.xxx:/usr/lib/libboost* ~/Downloads/iotdk-ide-linux/devkit-x86/sysroots/i586-poky-linux/usr/lib
Ubah bagian USERNAME@xxx.xxx.x.xxx untuk disamakan dengan username dan alamat IP yang kamu set di papan Intel Edison.
Ubah ~/Downloads/iotdk-ide-linux untuk disamakan dengan lokasi instalasi Intel IoT Developer Kit di komputer kamu
Ada tautan yang bermanfaat untuk melakukan hal ini, yaitu:
Catatan: kamu perlu mengaktifkan SSH dengan menjalankan perintah configure_edison –password pada papan. Setelah kamu mengeset password, pastikan kamu mencatatnya. Kamu hanya perlu melakukan ini sekali saja dan ini akan diset ketika kamu merestart papan Intel Edison.
Akan lebiih baik jika kamu mengeset zona waktu saat ini agar sama dengan zona waktu di mana kamu sedang bereda. Lakukan ini dengan cara menggunakan program timedatectl pada papan. Contohnya seperti berikut:
timedatectl set-timezone America/Los_Angeles
Untuk mendapatkan data cuaca terkini, kamu perlu untuk mendapatkan key API dari situs web Weather Underground:
http://www.wunderground.com/weather/api
Kamu tidak akan dapat mengambil kondisi cuaca tanpa mendapatkan key API Weather Underground terlebih dahulu. Kamu tetap dapat menjalankan contoh di artikel ini namun tanpa data cuaca.
Sampaikan key API Weather Underground ke contoh program dengan memodifikasi key WEATHER_API_KEY di file config.json seperti berikut ini:
chmod 755 /tmp/alarm-clock; export API_KEY="YOURKEY"
Sekarang ketika kamu menjalankan program kamu menggunakan tombol Run, programnya akan bisa mendapatkan data cuaca terkini dari papan Intel Edison.
Sebagai tambahan, kamu dapat menyimpan data yang dihasilkan oleh contoh program ini di backend database menggunakan Microsoft Azure, IBM Bluemix, atau AWS sejalan dengan data store Node.js dan Redis.
Untuk informasi tentang bagaimana caranya menyetel server data cloud kamu sendiri, kunjungi:
https://github.com/intel-iot-devkit/intel-iot-examples-datastore
Jika diminta username dan password, username masukkan root dan password masukkan password yang telah kamu set ketika mengkonfigurasi papan Intel Edison.
Untuk menjalankan contoh ini dengan backend data store opsional, kamu perlu mengeset variabel environment SERVER dan AUTH_TOKEN. Kamu dapat melakukannya di Eclipse dengan cara seperti berikut ini:
chmod 755 /tmp/alarm-clock;export API_KEY="YOURKEY"; export SERVER="http://intel-examples.azurewebsites.net/logger/alarm-clock"; export AUTH_TOKEN="YOURTOKEN"
Sekarang, jalankan program kamu menggunakan tombol Run. Program kamu akan dapat memanggil server untuk menyimpan data langsung dari papan Intel Edison.
Setelah kamu siap untuk menjalankan contoh ini, klik Run pada menu di bagian atas Eclipse
Ini akan meng-compile program menggunakan Cross G++ Compiler, mengaitkannya menggunakan Cross G++ Linker, mentransfer binary ke papan Intel Edison, dan lalu mengeksekusinya pada papan itu sendiri.
Setelah menjalankan programnya, kamu seharusnya akan melihat keluaran seperti di bawah ini.
Ketika programmnya diunggah ke papan Intel Edison, RGB LCD kamu akan menampilkan waktu saat ini.
Jika kamu melakukan perubaha di file index.html atau styles.css, kamu perlu membuat ulang file .hex yang digunakan untuk menyajikan aset melalui server web Crow bawaan. Ada tutorial bermanfaat yang mengajarkan cara menggunakan skrip shell di sini:
Alarm diset menggunakan sebuah halaman antar muka web yang disajikan langsung dari papan Intel Edison ketika contoh program sedang berjalan.
Server web berjalan pada port 3000, jadi jika papan Intel Edison terkoneksi ke Wi-Fi pada 192.168.1.13, alamat yang digunakan untuk berselancar jika kamu berada pada satu jaringan yang sama adalah http://192.168.1.13:3000.
Untuk daftar lengkap 18 contoh kodingan How-To Intel IoT Technology di C++, kunjungi artikel Intel Developer Zone berjudul 18 How-To Intel IoT Technology Code Samples Now Available in C++.
Untuk daftar lengkap 18 contoh kodingan How-To Intel IoT Technology di JavaScript, kunjungi artikel Intel Developer Zone berjudul Announcing 18 New How-To Intel® IoT Technology Code Samples.
Untuk lebih jelasnya tentang contoh kodingan ini, kunjungi GitHub.
* Artikel ini adalah hasil kerja sama dengan Intel Developer Zone. Artikel asli bisa dilihat di link ini.
Cisco mengungkapkan tiga kerentanan dalam layanannya. Ini dia penanganannya!
Ini ulasan mengenai keuntungan OptimalCloud Partner Platform, platform baru milik Optimal idM!
Google kenalkan dua koleksi baru dari Coral. Dua koleksi baru ini bakal menambah kemampuan pengembangan…
Raksasa Google baru saja mengembangkan sistem pemindaian kanker payudara berbasis kecerdasan buatan. Bagaimana hasilnya, berikut…
Meski dikenalkan bersamaan dengan Android 10 Beta, sampai kini Bubbles Notifications masih dalam tahap pengembangan.…
Samsung akan kembali memamerkan hasil program C-Lab ke ajang CES 2020. Ini dia proyek dan…