Mengirim Data Menggunakan NodeJS

Pendahuluan

Raspberry Pi adalah mini komputer yg mempunyai input output digital port seperti pada board microcontroller. Kelebihan Rasberry Pi dibanding board microcontroller yg lain diantaranya yaitu mempunyai Port/koneksi untuk display berupa TV atau Monitor PC serta koneksi USB untuk Keyboard serta Mouse. Raspberry Pi dibuat di inggris oleh Raspberry Pi Foundation. Pada awalnya Raspberry Pi ditunjukan untuk modul pembelajaran ilmu komputer disekolah. Untuk dapat menyimpan data pada ANTARES dapat menggunakan NodeJS Request. Berikut adalah langkah-langkanya:

raspi

Gambar 1. Raspberry Pi Device

1. Install Raspberry Pi OS

Pertama-tama anda harus memiliki Raspberry Pi yang sudah memiliki OS. Jika anda belum memiliki Raspberry Pi yang memiliki OS, anda dapat mengikuti tutorial pada halaman https://www.raspberrypi.org/documentation/installation/installing-images/. Jika anda sudah memiliki Raspberry Pi lengkap dengan OS nya, maka anda bisa langsung melanjutkan ke step berikutnya.

2. Install Librari

Aktifkan Raspberry Pi dan buka jendela terminal. Setelah jendela terminal terbuka, input syntax di bawah ini untuk menginialisasi library npm seperti yang ditunjukkan pada gambar 2.

npm init --yes
raspi1

Gambar 2. Initial NPM Library on Terminal UI

Setelah menginputkan syntax diatas, tekan enter dan jika proses inialisasi berhasil maka tampilan jendela terminal akan seperti gambar 3.

raspi2

Gambar 3. Initial NPM Library on Terminal UI

Jika sudah berhasil menginiaslisasi NPM library maka selanjutnya install NPM library dengan menggunakan syntax di bawah ini seperti yang ditunjukkan pada gambar 4./p>

npm install request --save
raspi3

Gambar 4. Install NPM Library on Terminal UI

Setelah menginputkan syntax diatas, tekan enter dan jika proses instalisasi berhasil maka tampilan jendela terminal akan seperti gambar 5.

raspi4

Gambar 5. Install NPM Library on Terminal UI

Jika tampilan sudah sesuai dengan gambar 5 maka proses instalasi library npm sudah selesai.

3. Membuat NodeJS Request

Setelah berhasil menghinstall library npm, selanjutnya adalah membuat file dengan format NodeJS. Untuk membuat file pada Raspberry Pi, anda dapat menggunakan syntax dibawah ini. File ini digunakan untuk menyimpan data pada Platform ANTARES.

sudo nano your-file-name.js
raspi5

Gambar 6. Create File Syntax on Terminal UI

Jika sudah masuk ke dalam file NodeJS Reqeust yang akan dibuat. Masukkan list di bawah ini dan jangan lupa inputkan URL Device anda dan juga Access Key anda.

Store Data to ANTARES NodeJS Request Format

Field Value
URL http://platform-iot.unnes.ac.id/~/antares-cse/antares-id/your-application-name/your-device-name
or
http://platform-iot.unnes.ac.id/~/antares-cse/your-device-ID

Note: your-device-ID must be starting with CNT. e.g. CNT-842419289
Method POST
Header Key Value
X-M2M-Origin access-id:access-password
Content-Type application/json;ty=4
Accept application/json
var request = require("request");

var options = { method: 'POST',
  url: 'URL',
  headers:
   { 'cache-control': 'no-cache',
     'content-type': 'application/json;ty=4',
     'x-m2m-origin': 'access-id:access-password' },
  body: '\r\n{\r\n  "m2m:cin": {\r\n    "cnf": "message",\r\n    "con": "\r\n      {\r\n      \t \\"status\\": \\"0\\",\r\n         \\"dim\\": \\"10\\"\r\n      }\r\n    "\r\n  }\r\n}' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Jika sudah diinputkan, maka tampilan akan sama seperti pada gambar 7.

raspi6json

Gambar 7. NodeJS File

Untuk menyimpan file NodeJS Request anda, anda perlu menekan Ctrl+X > Enter > Y.

4. Execute NodeJS Request

Setelah file NodeJS Request disimpan. Selanjutnya anda dapat mengeksekusi file tersebut dengan menggunakan sytanx berikut.

sudo node your-file-name.js
raspi7json

Gambar 8. Executed File & Result

Jika anda mendapatkan respon yang mirip dengan gambar 8, Selamat anda telah berhasil menyimpan data pada device anda di ANTARES

Field Value
URL http://platform-iot.unnes.ac.id/~/antares-cse/antares-id/your-application-name/your-device-name
or
http://platform-iot.unnes.ac.id/~/antares-cse/your-device-ID

Note: your-device-ID must be starting with CNT. e.g. CNT-842419289
Method POST
Header Key Value
X-M2M-Origin access-id:access-password
Content-Type application/xml;ty=4
Accept application/xml
var request = require("request");
var options = { method: 'POST',
  url: 'URL',
  headers:
   { 'Cache-Control': 'no-cache',
     'Content-Type': 'application/xml;ty=4',
     'X-M2M-Origin': 'access-id:access-password' },
  body: '<m2m:cin xmlns:m2m=\"http://www.onem2m.org/xml/protocols\">\r\n  <cnf>message</cnf>\r\n  <con>\r\n    &lt;obj&gt;\r\n     &lt;int name="data" val="16"/&gt;\r\n      &lt;int name="unit" val="watt"/&gt;\r\n    &lt;obj&gt;\r\n  \r\n' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);

Jika sudah diinputkan, maka tampilan akan sama seperti pada gambar 7.

raspi6

Gambar 7. NodeJS File

Untuk menyimpan file NodeJS Request anda, anda perlu menekan Ctrl+X > Enter > Y.

5. Cek Data pada Device di ANTARES

Anda dapat mengecek data yang anda simpan pada Device pada ANTARES dengan membuka URL device anda.

raspi8

Gambar 9. Tampilan Device pada ANTARES



Monitoring Suhu dan Kelembaban Menggunakan Sensor DHT11

Pendahuluan

Pada tutorial ini, Anda akan membuat suatu sistem monitoring suhu dan kelembaban menggunakan Raspberry Pi, sensor DHT11 dan ANTARES. Sensor DHT11 akan mengukur suhu dan kelembaban di sekitar ruangan, lalu akan mengirimkan data tersebut sehingga dapat dimonitor melalui device pada ANTARES.

1. Alat dan Bahan

Alat dan bahan yang digunakan yaitu:

a. Raspberry Pi

b. Sensor DHT11

c. Resistor 10k ohm

d. Breadboard

e. Kabel jumper

dht1

Gambar 10. Alat dan Bahan

2. Rangkaian Hardware

Kemudian Anda perlu menghubungkan sensor DHT11 dengan Raspberry Pi. Rangkailah sensor DHT11 dengan Raspberry Pi seperti pada gambar 11 berikut. Gunakan breadboard dan kabel jumper dalam proses merangkai.

dht2

Gambar 11. Rangkaian

Hubungkan kaki VCC sensor DHT11 ke pin 3.3V RaspberryPi, kaki GND sensor DHT11 ke pin GND RaspberryPi, kaki data sensor DHT11 ke GPIO 4 RaspberryPi dan pull up resistor seperti pada gambar.

3. Install Library DHT11

Sebelum memulai proses pada software, Anda perlu menginstall Library DHT11 pada RaspberryPi yang Anda gunakan. Pada tutorial ini, Anda akan menggunakan Library DHT11 dari Szazo. Buka jendela Terminal lalu ketik kode berikut untuk memulai instalasi.

git clone https://github.com/szazo/DHT11_Python.git

Setelah proses instalasi selesai, akan muncul folder DHT11_Python.

4. Kode Program

Setelah proses instalasi library selesai, Anda akan membuat kode program untuk membaca sensor dan mengirimkan data sensor ke Device Antares. Sebelum memulai, pastikan Anda telah membuat Aplikasi serta Device pada console Antares milik Anda.

Selanjutnya, masuk ke direktori folder DHT11_Python lalu buka file dht11_example.py menggunakan Python. Kemudian akan terbuka jendela text editor Python, lalu ketik kode program seperti berikut

import RPi.GPIO as GPIO
import dht11
import time
import datetime
import request
import json

#initialize GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.cleanup()

#read data using pin 4
instance = dht11.DHT11(pin=4)

while True:
result = instance.read()
if result.is_valid():
print("Last valid input: " + str(datetime.datetime.now()))
print("Temperature: %d C" % result.temperature)
print("Humidity: %d %%" % result.humidity)
data = '\r\n{\r\n  "m2m:cin": {\r\n    "cnf": "message",\r\n    "con": "\r\n      {\r\n      \t \\"Temperature\\": \\"'+str(result.temperature)+'\\",\r\n         \\"Humidity\\": \\"'+str(result.humidity)+'\\"\r\n
url = 'http://platform-iot.unnes.ac.id/~/antares-cse/antares-id/your-application-name/your-device-name'
headers = {'cache-control':'no-cache','content-type':'application/json;ty=4','x-m2m-origin':'Your-Acces-Key'}
r = request.post(url,headers=headers,data=data)
time.sleep(2)
							

Simpan file tersebut, kemudian buka jendela Terminal lalu ketik kode berikut:

cd DHT11_Python && python dht11_example.py

lalu akan muncul tampilan seperti berikut:

dht3

Gambar 12. Tampilan pada Terminal

Tampilan tersebut menunjukkan bahwa sensor mulai mengukur suhu dan kelmbaban. Selanjutnya silakan periksa data yang masuk pada Device Antares yang telah Anda buat sebelumnya. Jika berhasil maka tampilan pada Device Anda akan seperti berikut ini:

dht4

Gambar 13. Tampilan Device pada ANTARES