Showing posts with label iot. Show all posts
Showing posts with label iot. Show all posts
Setup dan Troubleshooting Gateway SX1275 LoRa (Long Range) IoT

Setup dan Troubleshooting Gateway SX1275 LoRa (Long Range) IoT

Assalammualaikum Wr. Wb. guys

Hardware yang saya gunakan untuk gateway LoRa disini berbasis chip SX1275, dan untuk processor/backhaul yang saya gunakan disini menggunakan RPI 2 dengan OSMC (debian base) biar bisa sambil Multimedia heheheehheheehh

BOM untuk project ini adalah:

  1. RPI 2 dengan image OSMC
  2. LoRa gateway SX1257 based, disini saya menggunakan produk RAK, DIPERHATIKAN ANTENNA GATEWAY HARUS TERPASANG KARENA BISA MENYEBABAN KERUSAKAN MODULE GATEWAY
  3. Jumper kabel 7ea
  4. Untuk koneksi internet bisa dipilih menggunakan Wifi atau ethernet, bila menggunakan wifi seperti saya, menggunakan wifi dongle USB


Ok langsung aja kita masuk ke step nya:

  • Setting OSMC agar SPI nya aktif yaitu di /boot/config.txt tambahkan parameter dtpram=spi=on, walau lewat OSMC nya sendiri sudah terlihat aktif namun ternyata SPI belum aktif sampai saya tambahan parameter tsb. Sempet berhari-hari puyeng gateway error mulu :-/
  • Bila belum terinstall git gcc dan libc6-dev, install dulu
  • Sudo apt-get update
    Sudo apt-get upgrade
    Sudo apt-get install git gcc libc6-dev
  • Clone source berikut dan ikuti langkah nya:
  • $ git clone -b spi https://github.com/ttn-zh/ic880a-gateway.git ~/ic880a-gateway
    $ cd ~/ic880a-gateway
    $ sudo ./install.sh spi
  • instalasi akan meminta jawaban yes/no untuk remote configuration. karena kita belum membutuhkannya, kita jawab no, kemudian akan diminta mengisi beberapa kolom. Untuk server address bila kita sudah membuat account di TheThingsNetwork atau ResinIoT bisa dimasukkan disini. saya sendiri menggunan TTN dan server yang digunakan adalah ttn.thingsconnected.net
  • Setelah selesai instalasi, gateway harus kita test terlebih dahulu apakah sudah bisa dikenali RPI atau belum
  • $ cd /opt/ttn-gateway/lora_gateway/util_spi_stress/
    $ ./util_spi_stress
    INFO: Starting LoRa concentrator SPI stress-test number 1
    Cycle 0 > did 1000 R/W on an 8 bits reg with no error
    Cycle 1 > did 1000 R/W on an 8 bits reg with no error
    Cycle 2 > did 1000 R/W on an 8 bits reg with no error
    Cycle 3 > did 1000 R/W on an 8 bits reg with no error
    Cycle 4 > did 1000 R/W on an 8 bits reg with no error
    
    
  • Semakin lama cycle tidak ada yang error berarti wiring nya semakin bagus



Dan akhir kata Wassalam

Install SmingHub and Netbeans as IDE at Linux Environment

Hi, this time i'd like to share how to install Sming Framework for ESP8266 and NetBeans as IDE. Before continue, i just to remind you my laptop use Linux Distro Elementary OS, which is Ubuntu base. So for Ubuntu user should be not problem.

Actually  there's no difference with installation from github page. But it's ok right if i rewrite here? I will explain more details if you're noobs at linux.


  • sudo apt-get update && sudo apt-get install make unrar autoconf automake libtool libtool-bin gcc g++ gperf flex bison texinfo gawk ncurses-dev libexpat1-dev python sed python-serial python-dev srecord bc git help2man unzip
  • Check /opt directory using command ls /opt if opt directory doesn't exist then create by command sudo mkdir /opt
  • cd /opt
  • git clone --recursive https://github.com/pfalcon/esp-open-sdk.git
  • git clone https://github.com/SmingHub/Sming.git
  • cd /opt/esp-open-sdk
  • wget https://github.com/themadinventor/esptool/archive/master.zip
  • unzip master.zip
  • mkdir esptool
  • mv esptool-master /opt/esp-open-sdk/esptool 
  • git clone https://github.com/raburton/esptool2
  • cd esptool2
  • make
  • cd ..
  • Type: sudo chown -R YOUR_USERNAME ./
  • make
  • cd /opt/sming/Sming
  • make
  • sudo nano /etc/environment type at 2nd row ESP_HOME=/opt/esp-open-sdk and 3rd row SMING_HOME=/opt/sming/Sming and then push ctrl+x and enter twice
Here now we have framework sming, now we will setup Netbeans IDE
  • sudo apt-get install -y netbeans
  • if package not found then follow this instruction
    • sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
    • sudo apt-get update
    • sudo apt-get install netbeans
  • Open netbeans, go to tool menu then click plugins, at tab available plugins choose c/c++ then install
  • go to tool then click options, click c/c++ then follow instruction at picture below 
  • then click tab code assistance and follow picture below 
  • After all environment setup then now we import project by click file menu, choose c/c++ with existing sources, next choose sample at /opt/sming/sample/Basic_Blink
  • At trees left side find Makefile and right click there and choose make
  • Happy coding!
Hello World Arduino IDE ESP8266 Coding

Hello World Arduino IDE ESP8266 Coding

Bila sebelumnya sudah diterangkan bagaimana caranya men-setup Arduino IDE agar bisa digunakan untuk membuat firmware dan sekaligus digunakan untuk menge-flash nya maka sekarang kita coba membuat program sederhana untuk menuliskan kata "Hello World" ke serial monitor yang biasa dipakai arduino untuk men-debug program dan juga membuat LED agar berkedip setiap ada tulisan Hello World. DevBoard yang saya pakai disini adalah dari Wemos mini. Dikarenakan di Wemos sudah ada terpasang led indikator, maka kita bisa menggunakan LED tersebut untuk bahan percobaan dengan kata yang sudah didefinisikan LED_BUILTIN

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);  
}

void loop() {
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);                     
  digitalWrite(LED_BUILTIN, HIGH);  
  Serial.write("Hello World");
  delay(2000); 
}

Setelah itu pasang DevBoard ESP8266 kalian ke komputer melalui USB, kemudian masuk menu Tools>Port kemudian pilih port mana DevBoard nya.

Kemudian Tekan Ctrl+U untuk meng-compile dan flashing/upload binary hasil compile ke ESP8266. Ketika proses compiling ini biasanya lama, sangat jauh berbeda ketika kita menggunakan NodeMCU firmware.

Bila sudah selesai coba tekan Ctrl+Shift+M untuk melihat debug serial nya.

Cara Install MQTT di linux OS Freya 0.3.2 Elementary OS x86 (Ubuntu based)

MQTT adalah protocol messaging yang sangat ringan. Menggunakan port 1883 dan 8883 untuk TLS security. Karena keunggulannya yang sangat ringan itu, sehingga MQTT protocol menjadi standard protocl untuk IOT dikarenakan bisa menghemat pemakaian power.

Dalam blog ini saya akan coba terangkan bagaimana langkah-langkah instalasi MQTT di linux dan beberapa istilah yang mungkin agak membingungkan, karena di awal saya belajar pun istilahnya masih agak asing.

Disini broker yang akan kita pakai untuk MQTT adalah Mosquitto.


Installation:

  • Karena ada beberapa library yang dibutuhkan untuk instalasi, baiknya kita install dahulu dependency nya. 
  • $ sudo apt-get update && install build-essential libwrap0-dev libssl-dev libc-ares-dev uuid-dev xsltproc
  • Download link $ wget http://mosquitto.org/files/source/mosquitto-1.4.8.tar.gz
  • $ tar -xvzf mosquitto-1.4.8.tar.gz
  • $ cd mosquitto-1.4.8
  • $ sudo make && make install

Setelah instalasi berhasil, maka berikutnya adalah cara mengkonfigurasi agar bisa digunakan.
Menambah user untuk mosquitto
adduser mosquitto

Membuat user/password:
mosquitto_passwd -c /etc/mosquitto/pwfile nama_user
Disini akan diminta membuatkan password
Membuat direkktori untuk penyimpanan db, kemudian change owner diganti
mkdir /var/lib/mosquitto
chown mosquitto:mosquitto /var/lib/mosquitto/ -R
Membuat file konfigurasi
sudo cp /etc/mosquitto/mosquitto.conf.example /etc/mosquitto/mosquitto.conf
sudo editor /etc/mosquitto/mosquitto.conf
Tambahkan konfigurasi dibawah ke akhir file konfigurasi
listener 8883 IP_ADDRESS_KAMU
persistence true
persistence_location /var/lib/mosquitto/
persistence_file mosquitto.db
log_dest syslog
log_dest stdout
log_dest topic
log_type error
log_type warning
log_type notice
log_type information
connection_messages true
log_timestamp true
allow_anonymous false
password_file /etc/mosquitto/pwfile

Kemudian run
/sbin/ldconfig



Run/Test mosquitto broker
Jalankan mosquitto broker
mosquitto -c /etc/mosquitto/mosquitto.conf

Agar setiap reboot akan dijalankan otomatis oleh system maka buat script di /etc/init/mosquitto.conf dengan isi sebagai berikut
description "Mosquitto MQTT broker"
start on net-device-up
respawn
exec /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf 

Disini server broker MQTT sudah running, dan bisa digunakan. Ada beberapa istilah yang harus diketahui tentang MQTT diantaranya:
PUBLISH adalah action dari client untuk mengirimkan pesan dengan topik tertentu ke broker untuk diterima oleh client lain
SUBSCRIBE adalah action dari client untuk bersiaga menerima pesan dari suatu client dengan topik tertentu 

Ok. Disini dulu penjelasan untuk instalasi MQTT broker dari mosquitto, di blog berikutnya kita akan mencoba cara publish dan subscribe message.


11 Internet Of Things (IOT) Protocol yang harus dikenal oleh developer

11 Internet Of Things (IOT) Protocol yang harus dikenal oleh developer

Banyak sekali teknologi komunikasi yang dikenal baik seperti WiFi, Bluetooth, 2G/3G/4G . Namun selain protokol tersebut, masih ada yang lain yang biasanya dipakain untuk Home Automation, metering dan lain lain. Mari kita bahas satu persatu komunikasi protokol dari yang sudah biasa terdengar sampai yang mungkin masih asing.


Bluetooth
Teknologi ini sudah sangat memasyarakat tentunya dikehidupan sehari hari. Pemakaian ada di Smartphone, Laptop, sampai speaker pun ada. Karena kemudahannya dan keamanannya karena dengan sistem pairing membuat teknologi ini berkembang pesat. Dan terakhir sekarang sedang dikeluarkan Bluetooth versi 5.0. Semenjak Bluetooth 4.0 di hadirkan dengan trademark BLE (Bluetooth Low Energy), konsumsi daya nya pun semakin hemat, sehingga cocok untuk aplikasi IOT yang membutuhkan power kecil untuk kebanyakan alat.
Namun adapula kelemahan bluetooth yaitu untuk transfer rate data yang kecil sehingga tidak cocok untuk transfer data dan jarak jangkauan sinyal nya yang terbatas.

Standard: Bluetooth 4.2 Core
Frequency: 2.4Ghz
Range: 50-150m (Smart/BLE)
Data Rate: 1Mbps


ZigBee
ZigBee, seperti juga bluetooth, telah diinstall dalam penggunaan besar walaupun kebanyakan digunakan di kalangan industri.ZigBee PRO dan ZigBee Remote Control (RF4CE) telah berdasarkan IEEE802.15.4 protocol yang mana itu adalah standarnya teknologi wireless networking di 2.4GHz yang menyasar aplikasi data low rates seperti area terbatas, rumah dan gedung.
ZigBee/RF4CE mempunyai beberapa keuntungan yang signifikan di sistem yang kompleks menawarkan low power operation, sekurity yang tinggi, ketahanan, skala tinggi dengan  jumlah node yang tinggi sehingga itu menguntungkan untuk M2M (Machine to machine) dan IOT.

Standard Zigbee 3.0 based on IEEE802.15.4
Freq: 2.4 GHz
Range: 10-100m
Data Rates: 250 kbps



Z-Wave
Di design untuk low power, dengan sistem RF. Penggunaannya biasanya untuk home automation untuk produk seperti lampu yang bisa dikontrol dan sensor dan masih banyak lagi. Dengan data rates sbeesar 100 kbps, beroperasi di sub 1GHz, tahan terhadap interferensi WiFi dan teknlogi wireless lainnya dikarenakan perbedaan frekuensi. Mendukung jaringan Mesh tanpa memerlukan sebuah coordinator node dan skala bisa diperbesar, pengunaan sampai 232 device. Z-Wave menggunakan protokol yang simple daripada yang lain.

Standard: Z-Wave Alliance ZAD12837/ITU-T G.9959
Frkuensi: 900MHz
Range: 30m
Data Rate: 9.6/40/100kps



6LoWPAN
Sebuah key IP yang berdasarkan teknologi adalah 6LowPAN (IPV6 Low Power Wireless Personal Area Network). Tidak seperti protokol aplikasi IOT seperti zigbee atau bluetooth, 6LowPAN adalah network protocol yang mendefinisikan enkapslasi dan header compression caranya. Standard mempunyai kebebasan memilih frequency band dan physical layer dan juga dapat digunakan silang multipele communication platfor, mencakup Ethernet, Wi-Fi, 802.15.4 dan sub 1GHz ISM. Kunci atributnya yaitu IPV6 dimana diperkenalkan beberapa tahun belakangan untuk IOT. IPV6 adalah suksesor dari IPV4  yang mana menawarka kira kira  5x10^28 addresses untuk setiap orang didunia.
Di desain untuk  mengirim paket IPV6 melalui IEEE802.15.4 dan mengimpleentasikan open IP Standard  termasuk TCP, UDP, HTTP, COAP, MQTT, dan websocket.

Standard: RFC6282
Frequency: (adapted and used over a variety of other networking media including Bluetooth Smart (2.4GHz) or ZigBee or low-power RF (sub-1GHz)
Range: N/A
Data Rates: N/A



Thread
Sebuah IP baru berdasarkan protokol jaringan IPV6 ditujukan untuk lingkungan home automation adalah Thread. Berdasarkan 6LowPAN, tidak menggunakan aplikasi protokol IOT tidak seperti  bluetooth dan zigbee. Bagaimanapun dari segi sudut pandang aplikasi, itu didesain untuk pelengkap WiFi.
Diluncurkan pertengahan 2014 oleh Thread Group,Royaltinya free protocol berdasarkan IEEE802.15.4. Thread mendukukung mesh networkdan bisa menangan 250 nodes.

Standard: Thread, based on IEEE802.15.4 and 6LowPAN
Frequency: 2.4GHz (ISM)
Range: N/A
Data Rates: N/A



WiFi
Adalah konektifitas yang paling sering di pilih oleh banyak developer, dikarenakan penyebarannya yang cepat dan lingkungannya bisa dissesuaikan dengan rumahan menggunakan LAN.
Untuk sekarang, kebanyakan WiFi standard yang digunakan di rumah dan banyak bisnis adalah 802.11n yang mana menawarkan data rates yg besar di ratusan MBps yang mana sangat baik untuk transfer file namun sangat banyak mengkonsumsi power untuk kebanyakan aplikasi IOT.

Standard: Based on 802.11n (most common usage in homes today)
Frequencies: 2.4GHz and 5GHz bands
Range: Approximately 50m
Data Rates: 600 Mbps maximum, but 150-200Mbps is more typical, depending on channel frequency used and number of antennas (latest 802.11-ac standard should offer 500Mbps to 1Gbps)



Celular
Aplikasi IOT yang membutuhkan jangkauan luas bisa menggunakan celular GSM. Dimana selular menggunakan data rate yang tinggi tentu ini mengkonsumsi power yang tinggi juga khususnya 4G. Tapi bisa menjadi idel bila menggunakan hanya dengan data rate yang rendah.


Standard: GSM/GPRS/EDGE (2G), UMTS/HSPA (3G), LTE (4G)
Frequencies: 900/1800/1900/2100MHz
Range: 35km max for GSM; 200km max for HSPA
Data Rates (typical download): 35-170kps (GPRS), 120-384kbps (EDGE), 384Kbps-2Mbps (UMTS), 600kbps-10Mbps (HSPA), 3-10Mbps (LTE)


NFC
Near Field Communcation adalah teknologi yang mengizinkan simpel dan aman untuk interaksi 2 arah antara electronic device dan khusunya penggunaan smartphone, misalnya penggunaan untuk membayar cash tanpa tunai. Penggunaan nya yang contact less mempunya jangkauan maksimal sampai 4cm.


Standard: ISO/IEC 18000-3
Frequency: 13.56MHz (ISM)
Range: 10cm
Data Rates: 100–420kbps



SigFox
Sebuah alternatif lain teknologi wide-range adalah sigfox. Menggunakan ISM bands yang mana bebas untuk digunakan tanpa membutuhkan lisensi untuk mengirimkan data. Ide sigfox dibangun yaitu untuk penggunaan M2M applications yang dapat berjalan di battery yang kecil dan hanya membutuhkan low rate data transfer. Sigfox menggunakan teknologi yang dikenal dengan mnama UNB (Ultra Narrow Band) dan hanya digunkan untuk menangani low data transfer dengan kecepatan 10-1000 bit per detik. Konsumsi dayanya hanya 50 microwatts dengan tipikal stby selam 20 tahun dan bandingkan dengan celular yang menghabiskan 5000 microwatts dengan jangka waktu 0.2 tahun dengan battery 2.5A.

Standard: Sigfox
Frequency: 900MHz
Range: 30-50km (rural environments), 3-10km (urban environments)
Data Rates: 10-1000bps



NEUL
Seperti konsep sigfox yang beroperasi di sub 1GHz band, Neul system berbasis Iceni Chip yang mana komunikasinya menggunakan white space radio untuk mengakses high quality UHF spectrum, sekarang tersedia dikarenakan adanya transisi digital TV. Komunikasinya dinamakan Weightless, yang mana sebuah wide-area wireless networking technology baru yang didesain untuk IOT yang mana berkompetisi dengan GPRS, 3G, CDMA dan LTE WAN solutions. Data rate dari beberapa bit per detik sampai 100kbps dengan melalui single link yang sama dan devices bisa mengkonsumsi sesedikit mungkin 20 sampai 30 mA dari 2xAA batteries yang artinya 10 sampai 15 tahun di lokasi.

Standard: Neul
Frequency: 900MHz (ISM), 458MHz (UK), 470-790MHz (White Space)
Range: 10km
Data Rates: Few bps up to 100kbps




LoraWAN
Seperti sigfox dan Neul, LoraWAN menargetkan untuk aplikasi area luas WAN dan di desain untuk low power dan  low-cost mobile secure bi-directional communication di IoT, M2M dab smart city dan aplikasi industrial.



Standard: LoRaWAN
Frequency: Various
Range: 2-5km (urban environment), 15km (suburban environment)
Data Rates: 0.3-50 kbps.

Raspberry Pi 2 *update

Halo semua,

Kali ini saya akan bahas sebuah device bernama Raspberry Pi versi 2 atau biasa disingkat RPI2.

Masih baru datang nih ceritanya dari negeri tiongkok sana. Malamnya sehabis keluarga udah pada tidur langsung aja kita test driving.

Bahan:
Power supply 5V dan kabel data
Kabel HDMI
Keyboard & mouse USB
MicroSD
Images raspbian wheel

Setelah hardware d connect semua, kita harus prepare dulu uSD nya dengan instalasi Linux distro di dalamnya.

Karena saya pengguna Win7, saya unduh dulu win32diskimager. Uncompress dulu file raspbian terlebih dahulu menggunakan 7zip, sampai di dapatkan file *.img.

Write file *.img tersebut menggunakan win32diskimager, dan jangan lupa drive letter nya ubah ke tempat uSD berada ya. Kalo salah salah, bisa bisa hardisk kita kena format atau FD yg lain dan hancur sudah laptop kita dan d FD kita.

Pasang uSD di RPI, dan beri supply. Normalnya LED merah itu harus steady ga kedip kedip, sedangkan LED hijau berkedip kedip random yg artinya sedang membaca SD card.

Nah kebetulan nih, punya saya g ada kedipam sedikitpun dan layar di LCD juga masih blank ga dapat sinyal.

Setelah cari cari info, ada beberapa kemungkinan mengapa RPI tidak mau boot.

1. Power supply yang kurang, namun bila lihat dari karakter LED ga masalah
2. Sdcard bermasalah, ini bisa jadi sih soalnya sempat lihat di elinux bahwa beberapa sdcard bisa bikin masalah. Dan punya saya dengan nama uHDclass1 transcend tertera disitu memang failure ga bisa d gunain...hikssss, harus beli lg uSD
3. Kemungkinan di slot uSDnya sendiri kotor jd harus di bersihin.

Soo tunggu lagi update selanjutnya ya setelah dapat uSD yg baru


Well,

Update masalah RPI kenapa gak mau boot ternyata bukan masalah di micro SD tetapi dari HDMI saya yang gak connect dan salah satu distro yang saya pakai yaitu raspberry wheezy memang gak mau boot. Sedangkan OSMC bisa working perfectly. Hehe yang oeting alhamdulillah ternyata RPI saya ga kenapa kenapa.

Flashing ESP8266 menggunakan NodeMCU


Ok, kita lanjut lagi ceritanya, di Internet sudah bertebaran sebenarnya tentang how to flash ESP8266. Namun ketika kita flash yang saya tahu sekarang ini ada 2 versi yaitu update dari Ai Thinker dan NodeMCU.

Lalu apa bedanya? Bedanya yaitu Ai thinker menggunakan perintah AT Command untuk eksekusi ESP8266 sedangkan NodeMCU menggunakan script LUA. Defaultnya ESP8266 pastinya menggunakan AT Command karena dari pabrikannya yaitu Ai Thinker.

Ada beberapa keuntungan jika menggunakan LUA dari NodeMCU:
  • Kita tidak membutuhkan mikrokontrol dari luar untuk setting-setting parameter (Optional)
  • Bahasa programming LUA yang mudah dipahami bila sudah mengenal C language
  • API nya yang sudah terdokumentasi dengan baik (English version indeed)
  • Bisa kirim script langsung kedalam ESP8266 dan di jalankan perintahnya oleh ESP8266
  • Dan lain-lain yang mungkin nanti terjawab setelah kalian memakainya :)
So let's begin how to Flashing NodeMCU

Seperti cara mengaktifkan wifi di posting blog sebelumnya, koneksikan ESP8266 dengan FTDI namun untuk flashing power, pull-up GPIO0 menggunakan resistor 1KOhm ke Ground.

Masuk ke website berikut https://github.com/nodemcu/nodemcu-firmware kemudian masuk ke folder Pre_Build dan ambil file ber extensi BIN yang terbaru versi nya. Saat ini saya menggunakan versi nodemcu_20150106.bin.

Setelah itu ambil sofware flasher nya di https://github.com/nodemcu/nodemcu-flasher. Bagi yang menggunakan windows 32Bit (x86) gunakan Win32 dan 64 bit gunakan Win64.

Buka aplikasi ESP8266Flasher.exe, bila FTDI sudah tersambung dengan PC biasanya otomatis COM port akan terisi otomatis. Namun pastikan COM port yang dimaksud adalah COM dari FTDI. Lalu masuk ke tab CONFIG dan pilih File BIN yang telah di download tadi.
Setelah itu masuk ke tab advance dan sesuaikan dengan baud rate nya. And happy flashing!!
Biasanya setelah menekan tombol flash akan muncul AP dan STA MAC addressnya dan beberapa detik kemudian flashing dimulai.

Setelah ada tanda checklist hijau artinya Flashing sudah selesai. Kemudian matikan power wifi dan lepas GPIO0 dari ground.


Troubleshooting

Saya pernah mengalami ketika saya tekan flashing, software seperti gagal berkomunikasi. Coba stop dulu tombol flashingnya kemudian matikan power ESP beberapa detik dan hidupkan kembali dan flashing bisa berjalan normal :)


Test LUA script

Saatnya pengetesan WIFI. Agar lebih mudah ketika eksekusi script berlangsung, bisa download software ESplorer. Softwarenya sangat komplit namun berbasis JAVA sehingga harus menginstall JRE (Java running environtment) dahulu.

Kita test GPIO0 dan GPIO2, caranya koneksikan GPIO0 dan 2 dengan led dan resistor 220Ohm ke ground. Kemudian masukkan beberapa perintah berikut:

gpio.mode(3,gpio.OUTPUT) -- 3 dan 4 adalah index GPI00 dan 2
gpio.mode(4,gpio.OUTPUT)
gpio.write(3,gpio.HIGH) -- Huuray LED GPIO0 dan 2 menyala
gpio.write(4,gpio.HIGH)

Di post berikutnya kita akan coba untuk menyalakan GPIO0 dan secara wireless web browser. Tunggu postingan berikutnya ;)

Boot up ESP8266 dan Troubleshoot

Hi Friends,

Ok kita lanjutkan lagi tutorial IOT nya, yang akan saya bahas device utama untuk IOT disini adalah ESP8266 ESP-01. Kenapa harus ESP8266 ESP-01? Beberapa point plus yang saya suka karena:
  1. Harga nya yang paling ekonomis di antara yang lain tidak akan lebih besar dari $15
  2. Ukurannya yg kecil cocok sebesar koin
  3. Spesifikasinya yang sama dengan wifi lain
  4. Jangkauan sinyalnya lumayan jauh (Ada di youtube perbandingan dengan wifi lain coba googling deh)
Tapi ada juga kekurangannya yaitu voltage TTL nya hanya bisa 3,3V dan jangan pernah sekali-kali diberi 5V karena akan menghanguskan chip IC nya.
ESP8266 from NURDspace
Untuk melihat spesifikasi lengkapnya bisa dilihat datasheet disini, atau bisa juga ke alamat https://nurdspace.nl/ESP8266

Berikut adalah fungsi dari kaki-kaki ESP8266:
ESP8266 interface from NURDspace

 Setelah melihat beberapa konfigurasi dasar, sekarang mari kita mulai beberapa bill of material yang dibutuhkan:
  1. FTDI232 3,3V 5V -> Atur agar mengeluarkan supply 3,3V
  2. ESP8266 ESP-01 tentunya
  3. Regulator 3,3V, saya menggunakan S1117-33PI yang bisa provide sekitar 1A
  4. Capacitor 10uF/16V 2buah untuk filter regulator
  5. Lainnya breadboard, kabel-kabel dan asesoris lain
Sebenarnya tanpa regulator pun bisa saja kita menggunakan suppply dari FTDI232 namun karena sewaktu saya coba, tiap kali reset secara software ataupun hardware, tiba-tiba saja komunikasi USB FTDI232 terputus dengan PC, jadi aman nya saya pisahkan suppply nya dimana WiFi ini mebutuhkan sekitar 200mA, dan saya tidak tahu berapa watt FTDI mampu memberi supply untuk WiFi.

Lebih baik jangan ikutin gaya saya yang semrawutan gini ya, bagusnya WiFi nya dikasih adapter kaki sehingga bisa di tempel ke breadboard, begitu pula FTDI nya bagusnya di tempel langsung ke breadboard jadi rapih tanpa kabel kesana sini, berhubung saya orang sibuk dan JP alias Jaya Plaza tempat saya beli barang elektro sangat-sangat jauh dari rumah akhirnya seadanya dulu yang penting progress maju terus :)

Setelah persiapan hardware sekarang kita lanjut ke bagian software, beberapa software yang cocok untuk pengetesan pertama ada beberapa software bisa dipilih yaitu:
  1. Hyperterminal (Untuk Windows Vista ke atas sudah tidak ada lagi)
  2. Putty
  3. SSCom32E (Versi English, aslinya chinese)
Bagi saya sendiri lebih prefer ke SSCom32E karena ketika membutuhkan perubahan baud rate, dan option lainnya kita bisa pada saat itu juga langsung merubahnya tanpa harus close dulu program/softwarenya dahulu.

Untuk settingan komunikasinya adalah sebagai berikut:
  • Baud Rate: Standardnya 9600, 57600, atau 115200 (Dicoba coba karena tiap device bisa berbeda)
  • Data Bits: 8
  • Stop Bits: 1
  • Verify: none
  • Flow Control: none
Source: electrodragon.com
 Troubleshooting:
Bila setelah dicoba mengetik tidak muncul font sama sekali, artinya komunikasi gagal. Coba pertama dilihat dulu dari hardwarenya, bila kita ketik keyboard, seharusnya led merah (TX) di FTDI menyala dan ketika tombol enter ditekan, maka  led biru menyala artinya ada feedback dari wifi.

Kemungkinan kegagalan tersebut bisa jadi faktor berikut:
  • TX dan RX terbalik, seharusnya TX dihubungkan ke RX dan sebaliknya. Namun ada kasus seperti saya pemasangan nya malah TX ke TX dan RX ke RX
  • Grounding yang belum terpasang semua atau kabel ada yang kendor
  • USB FTDI belum kepasang k PC :D
Ketik AT kemudian enter, bila ada jawaban OK berarti komunikasinya sudah lancar.

Berikut fungsi-fungsi AT Command yang bisa dipakai:

Commands Description Type Set/Execute Inquiry test Parameters Examples
AT+RST restart the module basic - - - -
AT+CWMODE wifi mode wifi AT+CWMODE=<mode> AT+CWMODE? AT+CWMODE=? 1= Sta, 2= AP, 3=both
AT+CWJAP join the AP wifi AT+ CWJAP =<ssid>,< pwd > AT+ CWJAP? - ssid = ssid, pwd = wifi password
AT+CWLAP list the AP wifi AT+CWLAP
AT+CWQAP quit the AP wifi AT+CWQAP - AT+CWQAP=?
AT+ CWSAP set the parameters of AP wifi AT+ CWSAP= <ssid>,<pwd>,<chl>, <ecn> AT+ CWSAP? ssid, pwd, chl = channel, ecn = encryption Connect to your router: :AT+CWJAP="YOURSSID","helloworld"; and check if connected: AT+CWJAP?
AT+ CIPSTATUS get the connection status TCP/IP AT+ CIPSTATUS
AT+CIPSTART set up TCP or UDP connection TCP/IP 1)single connection (+CIPMUX=0) AT+CIPSTART= <type>,<addr>,<port>; 2) multiple connection (+CIPMUX=1) AT+CIPSTART= <id><type>,<addr>, <port> - AT+CIPSTART=? id = 0-4, type = TCP/UDP, addr = IP address, port= port Connect to another TCP server, set multiple connection first: AT+CIPMUX=1; connect: AT+CIPSTART=4,"TCP","X1.X2.X3.X4",9999
AT+CIPSEND send data TCP/IP 1)single connection(+CIPMUX=0) AT+CIPSEND=<length>; 2) multiple connection (+CIPMUX=1) AT+CIPSEND= <id>,<length> AT+CIPSEND=? send data: AT+CIPSEND=4,15 and then enter the data
AT+CIPCLOSE close TCP or UDP connection TCP/IP AT+CIPCLOSE=<id> or AT+CIPCLOSE AT+CIPCLOSE=?
AT+CIFSR Get IP address TCP/IP AT+CIFSR AT+ CIFSR=?
AT+ CIPMUX set mutiple connection TCP/IP AT+ CIPMUX=<mode> AT+ CIPMUX? 0 for single connection 1 for mutiple connection
AT+ CIPSERVER set as server TCP/IP AT+ CIPSERVER= <mode>[,<port> ] mode 0 to close server mode, mode 1 to open; port = port turn on as a TCP server: AT+CIPSERVER=1,8888, check the self server IP address: AT+CIFSR=?
+IPD received data


Perkenalan Devices Untuk IOT

Devices Module

Well, kita sudah mengetahui apa IOT atau setidaknya kita sudah mempunyai bayangannya. Sekarang mari kita coba kupas apa saja yang kita perlukan untuk membuat sebuah sistem atau ekosistem IOT itu sendiri.

sumber: imgbuddy.com

Kita misalkan lagi seekor kucing yg ingin kita sebagai objek yang akan dimonitor. Maka kita membutuhkan sebuah kamera, box yang berisi banyak makanan kucing dan bisa kita open or close remotely. Setelah itu kita membutuhkan tentu saja Internet sebagai akses dan terakhir bisa smartwatch, smartphone, laptop, tablet etc untuk mengendalikan kamera dan box makanan kucing. 
Dari gambar diatas dapat dilihat bahwa aliran data dari kamera ataupun feedbox cat untuk mencapai internet bisa menggunakan kabe;, WiFi, ataupun berbasis nirkabel lain seperti bluetooth atau RF.

Yang akan saya coba bahas setelah ini adalah cara menggunakan WiFi module sebagai akses untuk IOT. Mengapa harus Wi-Fi, kenapa tidak kabel saja? Atau kenapa tidak bluetooth atau RF? Berikut pandangan saya untuk perbandingan ke tiap device:

Kabel, mempunyai keuntungan yaitu bisa murah bila digunakan jarak dekat dan gampang digunakan. Kerugiannya yaitu ribet karena bila tidak bisa menanganinya kabel terlihat berantakan, tidak flexible bila aktivitas kita mobile, juga bila di gigit tikus, kita susah menemukan dmn posisi kabel yang rusak.

Bluetooth, Yup dengan tentu saja keuntungannya praktis, mobile, dan compatible dengan semua smartphone, namun kerugiannya yaitu sifatnya yang 2 arah, belum bisa multi devices walaupun ada networking seperti TCP/IP untuk bluetooth bernama PAN (Personal Area Network) namun tidak umum digunakan.

RF (Radio Frequency), sama halnya dengan bluetooth namun lebih tidak praktisnya karena tidak compatible dengan device-device seperti laptop,smartphone etc

Wi-Fi, Tentu saja sifatnya mobile dan compatible dengan laptop ot smartphone dan multidevices sehingga bisa join ke suatu AP (Access Point) sebuah wireless router atau hub. Kecepatan transfer data yang tinggi dibanding bluetooth.

Well, setelah kita tahu perbandingannya saatnya kita memlih module device apa yang cocok untuk kita pakai. Sebenarnya banyak wifi module yang bisa digunakan, berikut sebagai referensi:
- XBee
- Arduino
- Intel
- ESP8266
- Dan lain masih banyak lagi

Module terakhir yang akan kita bahas di blog selanjutnya karena device nya yg begitu kecil dan harganya pun paling miring diantara module-module yang lain.

Sepertinya sudah terlalu malam, time elapsed so fast. :)



Cheers at 1 AM,


Fadli

Pendahuluan (Preliminary)

Pendahuluan (Preliminary)

Internet Of Things

Apa itu IOT? Mungkin masih banyak orang yang belum mengerti apa itu IOT. Saya coba jelaskan sesederhana mungkin apa itu. IOT adalah dimana aktivitas kita benda-benda elektronik ataupun elektronik dan segala hal yang berhubungan denganmu terhubung dengan internet. Contoh sederhananya, kita mempunyai TV di rumah dan karena kamu terburu-buru harus keluar untuk melakukan suatu aktivitas, kamu baru tersadar bahwa TV masih menyala. Lalu dengan smartphone mu kamu matikan TV tersebut dari jarak jauh.

Wow.. it's so amazing right??

Contoh lainnya di rumahmu terdapat seekor kucing yang sangat kamu sayangi, kamu ingin selalu tahu bagaimana keadaannya sekarang dan pada waktu itu kamu tidak bisa memberinya makan dikarenakan sedang di luar kota, sedangkan di rumah tidak ada siapapun. Lalu apa yang akan kamu lakukan? Kamu buka lagi smartphone, kamu minta kamera CCTV atau kamera apapun itu untuk memperlihatkan aktivitas si kucing, dan ketika kamu tahu bahwa kucing itu butuh makan, dengan sekali touch di smartphone..voila!! makanan kucing tiba-tiba mengucur dari box makanan menuju piring si kucing.

Apakah itu bisa? Tentu saja karena kita telah terhubung dengan internet, dimanapun kamu berada selama ada jangkauan BTS (Base Transceiver Station) kamu selalu dekat dengan apapun.

Yup, itulah kecanggihan dari sebuah internet. So, let's start learning basic of IOT ;)



Cheers,



Fadli