Showing posts with label internet of thing. Show all posts
Showing posts with label internet of thing. 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
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.

ESP8266 Family

Untuk makers pemula mungkin membingungkan dengan banyaknya Development Board ESP8266 yang banyak dijual. Karena itu saya coba jabarkan beberapa macam ESP8266 family.

ESP-01 Ini adalah versi pertama dari keluarga ESP8266, namun sayangnya development board ini yang terlalu simple sehingga tidak bisa di koneksikan dengan breadboard langsung melainkan harus menggunakan adapter lagi.










ESP-02 persis sama dengan ESP-01 namun tidak dibuatkan koneksi kaki melainkan harus dibuatkan lagi development board nya. Spesifikasinya sama persis dengan ESP-01








ESP-03 mempunyai GPIO yang lebih banyak









ESP-04 Tidak disediakan antena









ESP-05 Disediakan adapter antenna









ESP-06











 ESP-07











 ESP-08
 ESP-09

ESP-10
 
ESP-11



ESP-12









ESP-12E
Adalah yang paling populer dipakai oleh makers untuk dibuatkan developer boardnya. Beberapa dev board yang memakai ESP-12E adalah NodeMCU dan WEMOS












ESP-13












ESP-14


Sources:
http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family#modules_family

ESP8266 Arduino coding

Kalau sebelumnya saya membahas tentang bagaimana caranya programming ESP8266 dengan menggunakan firmware NodeMCU. Kali ini saya akan membahas flash ESP8266 menggunakan firmware sendiri menggunakan IDE Arduino.

Sebelumnya yang harus disiapkan:

  • ESP8266 Board development (Saya menggunakan Wemos Mini)
  • Arduino IDE terbaru
  • Full internet
  • Persiapan Perut harus kenyang hehe

Setelah instalasi Arduino dan masuk ke IDE nya, pilih menu file kemudian preferences. Kemudian pada kotak Additional Boards Manager URL masukkan URL berikut:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Kemudian OK dan setelah itu Arduino akan memasangkan board baru untuk ESP8266 family board. Berikut contoh instalasi board manager sudah terpasang:

Sebelum bisa dipakai, beberapa parameter harus disesuaikan dengan board ESP8266. Di gambar diatas ada beberapa pilihan yang harus di setting yaitu:
  • CPU frequency: default nya adalah 80 MHz, karena memang ESP8266 menggunakan frequency clock di 80 MHz
  • Board : Karena saya menggunakan WEMOS Mini, saya pilih board tersebut
  • Flash Size: Untuk beberapa modul ESP ada perbedaan, masing masing mempunya kapasitas memory yang berbeda, bisa dibaca di datasheet/web yang menyediakan board ESP8266 menggunakan tipe ESP berapa atau baca di Postingan saya selanjutnya untuk mengetahui beberapa tipe ESP8266
  • Upload speed: 115200 adalah defaultnya, bisa saja dipertinggi namun beberapa kasus ESP8266 tidak bisa mengenali bila kecepatan upload diatas baud rate default

Lalu apa bedanya pemrograman ESP8266 menggunakan AT-Command yang sama-sama menggunakan arduino IDE? Yang paling mendasar adalah bila menggunakan AT-Command artinya Kita menggunakan 1 board arduino(tipe apapun entah nano, yun dll) dan satu board ESP8266.

Sedangkan yang saya bahas kali ini seperti nodeMCU, Firmware ESP8266 yang kita buat untuk langsung mengendalikan GPIO dan fungsi lainnya sehingga lebih hemat tempat juga hemat biaya.


Sekian,


Fadli