IC timer 555 adalah sirkuit terpadu (chip) yang digunakan dalam berbagai pembangkit timer, pulsa dan aplikasi osilator. Komponen ini digunakan secara luas, berkat kemudahan dalam penggunaan, harga rendah dan stabilitas yang baik
Kami bantu anda untuk memahami lebih jelas mengenai migrasi tv digital, apa sebabnya dan bagaimana efek terhadap kehidupan. Jasa teknisi juga tersedia dan siap membantu instalasi - setting perangkat - pengaturan antena dan distribusi televisi digital ke kamar kos / hotel
Project Sederhana dengan Dot Matrix dan Attiny2313. Bisa menjadi hadiah buat teman atau pacarmu yang ulang tahun dengan tulisan dan animasi yang dapat dibuat sendiri.
Jika anda pencinta IC TTL datau CMOS maka project jam digital ini akan menunjukkan bahwa tidak ada salahnya balik kembali ke dasar elektronika digital , sebab semuanya BISA dibuat dengan teknologi jadul
Semangat berbagi ilmu dari aisi555 baik melalui tulisan maupun praktek langsung dilapangan, sempat mengalami episode "down" setelah terpukul pandemi corona di tahun 2020 dan 2021. Padahal di tahun 2020 mendapat kepercayaan kembali untuk menerima magang anak - anak SMK 1 dan SMK 2 dari kota Kediri, serta yang menggembirakan adalah ditandatanganinya kerjasama magang industri dengan fakultas vokasi ITS, setelah pada 2019 berhasil menerima trial magang anak ITS - D4 kontrol selama 6 bulan. Dan ini semuanya buyar akibat pandemi yang mengurung semua kegiatan pendidikan di rumah saja. Ya saya sadar itu diluar kendali saya dan saya tetap berusaha berbagi ilmu melalui jalur online, baik di blog ini dan saya mulai membuat tutorial via video youtube dan facebook.
Kegiatan diatas merupakan puncak dari rencana besar aisi555 untuk berkecimpung di dunia pendidikan bertema elektronika dan IOT, dimana aisi555 menjadi tersadar bagaimana terbukanya pikiran bahwa dunia pendidikan memiliki pangsa pasar yang tidak akan habis. Namun seperti merupakan salah satu "takdir" penulis, ketika tawaran kerjasama banyak datang, namun 2 minggu setelah pameran diatas, dunia pendidikan dipaksa melakukan "lockdown" karena merebaknya kasus covid yg menyebar di sekolah. Dan setelah lama menunggu akhirnya aisi555 kembali mendapatkan kepercayaan mengisi kuliah tamu dalam bungkus "kampus merdeka" pada 2021.
Aisi555 yang bernaung dibawah bendera PT. Indotech Infrastruktur Solusi kemudian menjalin kerjasama magang Industri untuk mahasiswa yang kini dibebaskan memilih jenis industri apa yang akan di ambil, yang kemudian kesempatan ini diambil oleh anak-anak jurusan D4 Teknik Listrik - Prodi Vokasi - Unesa Surabaya angkatan 2019. Magang industri ini telah diadakan pada februari - juni 2022 dengan tema yang diambil bergaris besar pada Baterai dan monitoringnya secara IOT.
Pola magang kali ini diadakan secara Online dan Offline dimana ada meeting pengarahan teori setiap minggunya yang dilaksanakan melalui media meeting video online. Kemudian di tiap bulanannya diadakan pertemuan tatap muka untuk melakukan evaluasi dan menyusun project yang tepat sebagai tugas akhir dan laporan magang sesuai tema yang diberikan oleh pihak kampus. Berikut ini beberapa garis besar atau tema yang diberikan tiap bulannya :
Bulan 1 : Pengenalan organisasi perusahaan dan peraturan perusahaan
Bulan 2 : Teknologi baterai sell basah / aki, charging dan discharging serta perawatannya
Bulan 3 : Baterai Lithium ion dan Mikrokontroller
Bulan 4 : Komunikasi data sensor dan IOT
Bulan 5 : Digital Marketing
Bulan 6 : Proyek akhir yang berhubungan dengan Baterai & IOT
Dan pada akhir dari periode magang kali ini telah dilaksanakan presentasi project akhir dari masing-masing peserta sebagai berikut :
Project 1 : Charger Accu Auto Cut Off berbasis timer 555
Project 2 : Desulfator Aki Basah berbasis timer 555
Project 3 : BMS dan PowerBank Baterai Li-Ion 18650
Project 4 : Monitoring Kesehatan Accu Berbasis Arduino
Project 5 : Monitoring Kesehatan Aki Secara IOT dengan Protokol MQTT
Berminat untuk magang bersama aisi555 ? Kontak kami ada di sebelah kanan layar ....Saya tunggu ....
Terkejutnya saya saat membaca email yang datang dari antares di akhir mei 2022, yang menyatakan platform IOT antares akan meng "upgrade" layanannya ke versi premium berbayar. Padahal bulan mei yang lalu saya sedang getol-getolnya meng "oprek" gateway LoRaWan milik telkom yang jangkauannya nyampe jauh ke berbagai pelosok kota Surabaya. Dan benar saja ketika saya membuat video dibawah ini pada tanggal 1 juni 2022 siang hari, tiba-tiba saja console web antares saya ter-logout sendiri ditengah-tengah rekaman. Panik lah saya dan videonya jadi sedikit terbata-bata di akhir rekaman dan terpaksa saya edit karena isinya banyak misuh-misuh "JA#%%##^@" ...
Hal yang serupa terjadi dengan keponakan teman yang sedang skripsi bertopik LoRa di Telkom University Bandung, katanya harga platformya Antares sih terjangkau namun untuk Conectivity nya yang menggunakan LoRa sangatlah mencengangkan, karena walau harga 1 koneksi ke device di antares cuman 56.200 per tahun, namun seharinya dibatasi 10 kali UPLINK saja. Ala mak jang !!!
Awalnya saya bingung juga masalah harga yang keluar di hari libur kelahiran pancasila 1 juni itu, namun setelah dilihat lebih seksama ada 2 jenis pembayaran prepaid yang harus dipahami :
Device yang dimaksud adalah device pada web consolenya antares, dimana selama sebulan dengan merogoh kocek Rp 53.250, kita bebas menggunakan 25 device IOT dengan jalur komunikasi melalui Internet. Jadi para pengguna IOT via wifi dengan modul ESP8266 atau arduino dengan modul GSM SIM800 dapat mengirimkan dan menerima data secara unlimited. Murah dan terjangkau kalau ini menurut saya. Namun kejanggalan terlihat pada Conectivity LoRa yang ditawarkan oleh Antares dengan LoRaWan gatewaynya yang tersedia di hampir semua STO Telkom ( kota besar ) se-NKRI ...
10 UPLINK / hari ???
Langsung saja saya kontak mahasiswa yang sedang bimbingan skripsi ke saya mengenai topik LoRa, awalnya tidak paham..namun...ujungnya lemas tak berdaya, walau saya jelaskan kalau trialnya masih 3 bulan kok untuk pengguna lama maupun baru. Cuman 10 uplink perhari nya ini menyebabkan skripsinya jadi terancam ! Walau dengan trik membuat akun baru yang banyak, namun ini akan merepotkan. Lalu bagaimana solusi buat yang sering melakukan coding Trial- Error ? Begini beberapa kesimpulan yang saya dapat ambil hikmahnya dari kegaduhan ini:
1. Perbaiki kebiasaan coding dengan cek-ricek script dan baru upload ke Arduino setelah yakin benar
Ini sih menertawakan style coding saya, dimana kebiasaan trial-error, copy paste, upload , ulang lagi dst berkali-kali. Ini akan fatal kalau quota LoRaWan saya habis dengan prematur. Jadi buat anda yg memulai belajar, perhatikan style coding anda.
2. Bagi yg ber "uang", lakukan prototyping dengan LoRaWan Gateway sendiri
Kalau model yang satu ini sebaiknya dilakukan secara Gotong Royong atau minta bantuan sponsor dari kampus untuk membelikan Gateway LoRaWan dan dipakai belajar bersama-sama. Jadi ketika sudah sukses dengan LoRaWan di Lab sendiri, baru deh meng-upload versi LoRaWan-Antares.
3. Gunakan UPLINK dengan menunggu perintah input dari serial/tombol, jangan lakukan TX-timer based
Karena memang investasi BTS LoRaWan itu mahal, maka sudah saatnya Telkom memberikan "meteran berbayar" bagi pengguna gatewaynya. Seperti yang kita ketahui LoRaWan adalah protokol yang sharing resource, sehingga node LoRa diharapkan Transmit TX / Uplink nya jarang-jarang apalagi RX / Downlink / penerimaan data pada nodes nya. Sehingga buat yang baru tahap belajar, haram hukumnya untuk mengirimkan TX Uplink secara timer based. Solusinya yang saya sarankan adalah dengan mengirimkan data dengan menunggu perintah yang dikirimkan melalui Serial Monitor di sketch. Perhatikan contoh komunikasi serial berikut :
String a;
void setup() {
// Inisialisasi serial
Serial.begin(9600);
Serial.println("tessss");
}
void loop() {
// cek ada data masuk dari serial monitor
while(Serial.available())
{
a= Serial.readString();
Serial.println(a);
if (a == "aho ganteng")
Serial.println("aho memang ganteng kok !!");
}
}
Maksud dari script diatas adalah membandingkan inputan serial berupa kalimat " aho ganteng " dan kemudian jika benar maka akan dikirimkan jawaban " aho memang ganteng kok !! " . Jangan lupa di gambar diatas ada petunjuk nomer 1 dimana pilih no line ending agar tidak mengirmkan enter atau baris baru pada serial ke arduinonya.
Lalu bagaimana dengan script untuk mengirim data suhu dan kelembaban DHT11 ke antares seperti contoh sebelumnya (dapat dibaca disini ) ? Begini scriptnya kira-kira.
#include <SPI.h>
#include <LoRa.h>
#include "DHT.h"
#include <LoRaWanPacket.h>
//Sesuaikan PIN CS, Reset, DIO0
const int csPin = 10;
const int resetPin = 9;
const int irqPin = 2;
const int dhtPin = 3; //Sesuaikan pin DHT
String input; // variabel menyimpan input
//Sesuaikan dev address dan key device LoRa
const char *devAddr = "xxxxxxx";
const char *nwkSKey = "11111111111111110000000000000000";
const char *appSKey = "00000000000000002222222222222222";
#define DHTTYPE DHT22 //Sensor DHT22 sesuaikan
DHT dht(dhtPin, DHTTYPE);
struct LoRa_config
{
long Frequency;
int SpreadingFactor;
long SignalBandwidth;
int CodingRate4;
bool enableCrc;
bool invertIQ;
int SyncWord;
int PreambleLength;
};
//Frekuensi Telkom LoRawan 922MHZ, sesuaikan dengan BTS GW terdekat
static LoRa_config txLoRa = {922000000, 10, 125000, 5, true, false, 0x34, 8};
void LoRa_setConfig(struct LoRa_config config)
{
LoRa.setFrequency(config.Frequency);
LoRa.setSpreadingFactor(config.SpreadingFactor);
LoRa.setSignalBandwidth(config.SignalBandwidth);
LoRa.setCodingRate4(config.CodingRate4);
if (config.enableCrc)
LoRa.enableCrc();
else
LoRa.disableCrc();
if (config.invertIQ)
LoRa.enableInvertIQ();
else
LoRa.disableInvertIQ();
LoRa.setSyncWord(config.SyncWord);
LoRa.setPreambleLength(config.PreambleLength);
}
void LoRa_TxMode()
{
LoRa_setConfig(txLoRa);
LoRa.idle();
}
void setup()
{
Serial.begin(9600);
while (!Serial);
LoRaWanPacket.personalize(devAddr, nwkSKey, appSKey);
LoRa.setPins(csPin, resetPin, irqPin);
if (!LoRa.begin(txLoRa.Frequency)) {
Serial.println("LoRa init failed. Check your connections.");
while (true);
}
Serial.println("LoRa init succeeded.");
Serial.println();
dht.begin();
}
String SendTempHumid(){ //kirim data pengukuran DHT
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
}
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.println(" °C ");
//yang dikirim data berupa string JSON
return( "{\"suhu\":" + String(t) + ",\"humi\":" + String(h) +"}");
}
void loop() {
while(Serial.available()) // jika ada serial input masuk
{
input = Serial.readString();
Serial.println(input);
if( input == "Kirim"){ // jika perintah yg dikirim berupa "kirim"
LoRa_sendMessage(); //kirim ke LoraWan
Serial.println("Ngirit Kirim data Ke LoRaWan Antares !");
}
}
}
void LoRa_sendMessage()
{
LoRa_TxMode();
LoRaWanPacket.clear();
//Serial.println(SendTempHumid());
LoRaWanPacket.print(SendTempHumid());
if (LoRaWanPacket.encode())
{
LoRa.beginPacket();
LoRa.write(LoRaWanPacket.buffer(), LoRaWanPacket.length());
LoRa.endPacket();
}
}
Dapat dilihat dari hasil pada gambar diatas, data akan terkirim ke Gateway LoRaWan Antares lebih terkontrol hanya ketika diketikkan kata " Kirim" lalu pencet SEND pada serial monitor. Semoga dapat membantu kalian yang mengalami kegalauan akibat berbayarnya LoRaWan Antares.
Operasi sistem IoT di pita spektrum ISM yang tidak berlisensi di satu sisi menguntungkan karena rendahnya biaya lisensi, namun di sisi lain penggunaan spektrum secara bersama menyebabkan peningkatan kebisingan / noise pada latar (background noise) yang tak terhindarkan, karena banyaknya perangkat baru yg hadir belakangan ini. Masalah gangguan yang meningkat ini juga disadari oleh pihak regulator, di mana dilakukan pengukuran spektrum pita lebar (untuk kisaran 200–3000 MHz) dilakukan di lingkungan perkotaan pada tahun 2016. Dari hasil penelitian ditunjukkan bahwa dibandingkan dengan penelitian data analog yang dikumpulkan pada tahun 2004 rata-rata hunian spektral meningkat secara signifikan yang menunjukkan munculnya sejumlah besar sumber radiasi baru (sehingga lebih padat) yang telah muncul selama periode tersebut.
Ini dicirikan oleh ketidakpastian yang tinggi dan varians yang cukup besar baik dalam time domain maupun dalam amplitudo yang tidak memungkinkan kualifikasi mereka disebut sebagai white Gaussian noise. Kontributor utama dari radiasi yang baru ini, tentu saja telah diidentifikasi sebagai sistem seluler (GSM, UMTS, dan LTE) dan DVB-T. Namun, ada juga kejadian tak terduga dengan karakteristik acak, yang hampir tidak dapat dijelaskan dengan model statistik, seperti kendaraan yang lewat yang memancarkan gelombang EM dari komunikasi pada ECM dan sinyal yang dipancarkan dari remote control untuk membuka pintu dan gerbang dan dari sistem otomasi rumah. Radiasi dalam ruangan dapat berasal dari peralatan komputer (terutama ruang server), WLAN, atau periferal komputer yang berkomunikasi melalui Bluetooth. Kebisingan latar belakang yang meningkat di dalam gedung ini dapat menjadi sangat berbahaya bagi sistem IoT, yang menurut definisi didedikasikan untuk memperoleh data dari lokasi dalam ruangan dan mengirimkannya melalui modem yang terletak langsung pada meter dan sensor.
Untuk menjaga data tetap terkirim ke server dan gateway IOT, saya telah mengkreasikan script baik di arduino maupun python untuk dapat mengumpulkan data statistik masing-masing frekuensi LoRa yang telah disepakati di Indonesia yaitu frekuensi 921.2 - 922.6 Mhz, dengan jarak tiap channel 200Khz. Tanpa berpanjang lebar saya akan share sciptnya, asalkan pembaca telah mengerti pada pembahasan Hello world dan pengolahan data antares yang bisa dibaca disini dan disini.
#include <SPI.h>
#include <LoRa.h>
#include <LoRaWanPacket.h>
const int csPin = 10;
const int resetPin = 9;
const int irqPin = 2;
const char *devAddr = "aabbccdd";
const char *nwkSKey = "11111111111111110000000000000000";
const char *appSKey = "00000000000000002222222222222222";
struct LoRa_config
{
long Frequency;
int SpreadingFactor;
long SignalBandwidth;
int CodingRate4;
bool enableCrc;
bool invertIQ;
int SyncWord;
int PreambleLength;
};
long LoRa_frek_INA_923_start = 921200000 ;
long LoRa_frek_INA_923_end = 922600000 ;
long LoRa_frek_step = 200000;
long LoRa_frek_INA_923 = LoRa_frek_INA_923_start;
static LoRa_config txLoRa = {LoRa_frek_INA_923, 10, 125000, 5, true, false, 0x34, 8};
void LoRa_setConfig(struct LoRa_config config)
{
LoRa.setFrequency(LoRa_frek_INA_923);
LoRa.setSpreadingFactor(config.SpreadingFactor);
LoRa.setSignalBandwidth(config.SignalBandwidth);
LoRa.setCodingRate4(config.CodingRate4);
if (config.enableCrc)
LoRa.enableCrc();
else
LoRa.disableCrc();
if (config.invertIQ)
LoRa.enableInvertIQ();
else
LoRa.disableInvertIQ();
LoRa.setSyncWord(config.SyncWord);
LoRa.setPreambleLength(config.PreambleLength);
}
void LoRa_TxMode()
{
LoRa_setConfig(txLoRa);
LoRa.idle();
}
void setup()
{
Serial.begin(9600);
while (!Serial);
LoRaWanPacket.personalize(devAddr, nwkSKey, appSKey);
LoRa.setPins(csPin, resetPin, irqPin);
if (!LoRa.begin(txLoRa.Frequency)) {
Serial.println("LoRa init failed. Check your connections.");
while (true);
}
Serial.println("LoRa init succeeded.");
Serial.println();
}
void loop() {
if (runEvery(5000)) {
Serial.print("Send Message! frekuensi = ");
Serial.println(LoRa_frek_INA_923);
LoRa_sendMessage();
}
}
void LoRa_sendMessage()
{
LoRa_TxMode();
LoRaWanPacket.clear();
LoRaWanPacket.print("coba kirim frek: ");
LoRaWanPacket.print(String(LoRa_frek_INA_923));
if (LoRaWanPacket.encode())
{
LoRa.beginPacket();
LoRa.write(LoRaWanPacket.buffer(), LoRaWanPacket.length());
LoRa.endPacket();
}
if( LoRa_frek_INA_923 >= LoRa_frek_INA_923_end ) LoRa_frek_INA_923 = LoRa_frek_INA_923_start;
else LoRa_frek_INA_923 += LoRa_frek_step;
}
boolean runEvery(unsigned long interval)
{
static unsigned long previousMillis = 0;
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval)
{
previousMillis = currentMillis;
return true;
}
return false;
}
Hasilnya akan bisa mengirim data frekuensi ke antares
Untuk script python nya sehingga dapat menampilkan grafik di excel, silahkan rekues ke saya melalui email: ahocool@gmail.com atau whatsapp 08155737755. Hasilnya luar biasa masbroo...saya mendapatkan kesimpulan yaitu frekuensi terbaik di lokasi saya ada pada 2 channel yaitu 921.2 Mhz dan 922 Mhz.
Setelah saya sukses membuat hello world antara modul LoRa dengan Gateway LoRawan Telkom (baca disini), saya akan lanjut membahas pengolahan data yang "lebih berguna" menggunakan sensor sejuta umat DHT dan dengan protokol IOT paling enteng yaitu MQTT. Untuk memahami bagaimana pemahaman PUB dan SUB dari platform IOT Antares yang menggunakan standar M2M, maka perlu sekali untuk memahami pembahasan sebelumnya di blog ini, diantaranya :
Proses PUB dan SUB dari Antares yang menggunakan 1 topik untuk PUB/REQ dan 1 topik untuk SUB/RESP. Jadi ketika data diterima antares, tidak serta merta akan diberikan kepada yag subscribe, jadi butuh REQUEST data dengan payload tertentu dan kemudian menerima RESPONSE pada 1 topik (hanya 1 tiap akun) yg telah di subscribe. Bisa dibaca disini , disini , dan disini .
Python Paho-mqtt sebagai library paling umum untuk menerima dan mengolah protokol mqtt sehingga dapat dilanjutkan ke proses selanjutnya seperti menyimpan database, membuat grafik atau mengirim ke bot telegram. Bisa dibaca dulu agar mengerti disini dan disini.
Hardware yang kita gunakan masih seperti sebelumnya yaitu breakout board LoRa RFM95 dan arduino uno/nano/pro sebagai pengontrol nya. Sebagai sensor saya gunakan DHT22 yang lebih bagus dari kakaknya DHT11, rangkaiannya kira-kira seperti ini (sesuaikan dengan pin SPI pada arduino yg dipakai) :
Script arduinonya merupakan penggabungan tutorial hello world sebelumnya dengan menggunakan library LoRaWan Packet yang lumayan stabil untuk pengiriman data. Tanpa menunda-nunda saya bagikan script untuk mengirim suhu dan kelembaban ke Antares melalui LoRaWan :
#include <SPI.h>
#include <LoRa.h>
#include "DHT.h"
#include <LoRaWanPacket.h>
//Sesuaikan PIN CS, Reset, DIO0
const int csPin = 10;
const int resetPin = 9;
const int irqPin = 2;
const int dhtPin = 3; //Sesuaikan pin DHT
//Sesuaikan dev address dan key device LoRa
const char *devAddr = "aabbccdd";
const char *nwkSKey = "11111111111111110000000000000000";
const char *appSKey = "00000000000000002222222222222222";
#define DHTTYPE DHT22 //Sensor DHT22
DHT dht(dhtPin, DHTTYPE);
struct LoRa_config
{
long Frequency;
int SpreadingFactor;
long SignalBandwidth;
int CodingRate4;
bool enableCrc;
bool invertIQ;
int SyncWord;
int PreambleLength;
};
//Frekuensi Telkom LoRawan 922MHZ, sesuaikan dengan BTS GW terdekat
static LoRa_config txLoRa = {922000000, 10, 125000, 5, true, false, 0x34, 8};
void LoRa_setConfig(struct LoRa_config config)
{
LoRa.setFrequency(config.Frequency);
LoRa.setSpreadingFactor(config.SpreadingFactor);
LoRa.setSignalBandwidth(config.SignalBandwidth);
LoRa.setCodingRate4(config.CodingRate4);
if (config.enableCrc)
LoRa.enableCrc();
else
LoRa.disableCrc();
if (config.invertIQ)
LoRa.enableInvertIQ();
else
LoRa.disableInvertIQ();
LoRa.setSyncWord(config.SyncWord);
LoRa.setPreambleLength(config.PreambleLength);
}
void LoRa_TxMode()
{
LoRa_setConfig(txLoRa);
LoRa.idle();
}
void setup()
{
Serial.begin(9600);
while (!Serial);
LoRaWanPacket.personalize(devAddr, nwkSKey, appSKey);
LoRa.setPins(csPin, resetPin, irqPin);
if (!LoRa.begin(txLoRa.Frequency)) {
Serial.println("LoRa init failed. Check your connections.");
while (true);
}
Serial.println("LoRa init succeeded.");
Serial.println();
dht.begin();
}
String SendTempHumid(){ //kirim data pengukuran DHT
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
}
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.println(" °C ");
//yang dikirim data berupa string JSON
return( "{\"suhu\":" + String(t) + ",\"humi\":" + String(h) +"}");
}
void loop() {
if (runEvery(10000)) {
LoRa_sendMessage();
Serial.println("Kirim data!");
}
}
void LoRa_sendMessage()
{
LoRa_TxMode();
LoRaWanPacket.clear();
//Serial.println(SendTempHumid());
LoRaWanPacket.print(SendTempHumid());
if (LoRaWanPacket.encode())
{
LoRa.beginPacket();
LoRa.write(LoRaWanPacket.buffer(), LoRaWanPacket.length());
LoRa.endPacket();
}
}
boolean runEvery(unsigned long interval)
{
static unsigned long previousMillis = 0;
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval)
{
previousMillis = currentMillis;
return true;
}
return false;
}
Dan hasil yang didapatkan berupa data JSON string pada console web antares.
Lalu bagaimana cara mengunduh atau mengambil data dari web antares tadi ? Sebenernya pada python telah dibuatkan library untuk mengunduh data antares secara http yang telah saya bahas disini : https://www.aisi555.com/2020/08/solderpiraspberry-pi-ke-antares-semakin.html . Namun kali ini saya ingin menggunakan protokol MQTT agar lebih memahami proses SUB dan PUB pada antares yang berbeda dengan broker MQTT pada umumnya. Secara singkat proses untuk mendapatkan data dari database antares sebagai berikut:
1. Gunakan broker MQTT antares dan dengan topik yang FIX gak bisa diutak-atik. Sesuaikan script dibawah dengan User key pada akun antares yang digunakan.
Script python lengkapnya akan saya bagikan jika pembaca membutuhkannya, dan yang ingin bertanya langsung aja ke email: ahocool@gmail.com atau whatsapp ke 08155737755. Hasilnya bisa dilihat pada video singkat berikut ini :