Sampai di sini, pasukan UrusanWiFi dan pasukan UrusanIoT sudah siap di depan gerbang, mereka tinggal kita perintah untuk maju. Pasukan UrusanWiFi akan maju pertama untuk mengamankan jalur tempur. Setelah masuk dan terhubung, pasukan UrusanIoT akan menerjang menembus belukar dan rintangan hingga tembus ke Broker. Setelah masuk ke broker, kita bisa berkomunikasi dengan semua pasukan lain dari divisi lain yang terhubung ke topik yang sama. Bayangkan seberapa besar kekuatan ketika kita semua terhubung!
Step 1: Persiapkan Kode Akses File secret.h dan secret.h.ori
Pastikan id kalian ganti dengan tld = top level domain (org, com, id, net, dll). organizationname = nama PT tanpa spasi, divisionname = nama divisi tanpa spasi.
#include <Arduino.h>
#include <MQTT.h>
#include <UrusanWiFi.h>
#include <UrusanIoT.h>
#include "secret.h"
#include <TaskScheduler.h>
void penangkapPesan(String topic, String message);
void task1DetailTugas();
UrusanWiFi urusanWiFi(ssid, pass);
UrusanIoT urusanIoT(broker, port, id, brokerUsername, brokerPassword);
Scheduler penjadwal;
Task task1(3000, TASK_FOREVER, &task1DetailTugas);
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
urusanWiFi.konek();
urusanIoT.konek();
urusanIoT.penangkapPesan(penangkapPesan);
urusanIoT.subscribe("tld/namaorganisasi/namadivisi");
penjadwal.init();
penjadwal.addTask(task1);
task1.enable();
}
void loop() {
// put your main code here, to run repeatedly:
urusanIoT.proses();
if(urusanWiFi.apakahKonek() == 1 && urusanIoT.apakahKonek() == 0){
urusanIoT.konek();
}
penjadwal.execute();
}
/// @brief Fungsi callback dari fungsi subscribe objek urusanIoT
/// @param topic
/// @param message
void penangkapPesan(String topic, String message){
Serial.printf("penangkapPesan: topic: %s | message: %s\n", topic.c_str(), message.c_str());
}
/// @brief Fungsi callback dari task1
void task1DetailTugas(){
if(urusanIoT.apakahKonek() == 1){
urusanIoT.publish("tld/namaorganisasi", "namadivisi");
}
}
Pastikan kalian menyesuaikan nama tld, namaorganisasi, namadivisi di kode program main.cpp
Step 3. Build the Code
Kompile kode tersebut, dan pastikan tidak ada yang error dengan menekan tombol centang di taskbar bagian bawah Visual Studio Code.
Cara Submit Misi
Setelah selesai melakukan misi ini, commit dan push kembali ke github, para leader divisi harus konfirm ke Signal Group dengan format NamaOrganisasi-NamaDivisi-URLBranch.
What Do You Have To Learn
Pada bagian paling atas file main.cpp, perhatikan bagaimana pasukan-pasukan dan senjata-senjata yang tadi kita buat kita import dan kita gunakan pada misi. Perhatikan pada bagian ini:
ini adalah kode untuk mewujudkan objek (instansiasi) dari kelas UrusanWiFi, UrusanIoT dan Scheduler. Dari namanya kalian bisa tebak apa kesaktian yang di miliki oleh objek-objek itu.
Selain itu, juga ada beberapa fungsi callback, fungsi callback adalah fungsi yang dipanggil ketika sesuatu terjadi, misal ada pesan datang, maka fungsi penangkapPesan akan dipanggil untuk mengolah pesan itu.
Ada juga objek penjadwal, ini bisa kita perintah untuk membantu kita menjalankan tugas-tugas repetitif/berulang, misalnya mengirim data ke broker.
Instruksi
Sampai di sini, pasukan UrusanWiFi dan pasukan UrusanIoT sudah siap di depan gerbang, mereka tinggal kita perintah untuk maju. Pasukan UrusanWiFi akan maju pertama untuk mengamankan jalur tempur. Setelah masuk dan terhubung, pasukan UrusanIoT akan menerjang menembus belukar dan rintangan hingga tembus ke Broker. Setelah masuk ke broker, kita bisa berkomunikasi dengan semua pasukan lain dari divisi lain yang terhubung ke topik yang sama. Bayangkan seberapa besar kekuatan ketika kita semua terhubung!
Step 1: Persiapkan Kode Akses File secret.h dan secret.h.ori
secret.h
Pastikan id kalian ganti dengan tld = top level domain (org, com, id, net, dll). organizationname = nama PT tanpa spasi, divisionname = nama divisi tanpa spasi.
secret.h.ori
Step 2: Kode Pada File main.cpp
Pastikan kalian menyesuaikan nama tld, namaorganisasi, namadivisi di kode program main.cpp
Step 3. Build the Code
Kompile kode tersebut, dan pastikan tidak ada yang error dengan menekan tombol centang di taskbar bagian bawah Visual Studio Code.
Cara Submit Misi
Setelah selesai melakukan misi ini, commit dan push kembali ke github, para leader divisi harus konfirm ke Signal Group dengan format NamaOrganisasi-NamaDivisi-URLBranch.
What Do You Have To Learn
Pada bagian paling atas file main.cpp, perhatikan bagaimana pasukan-pasukan dan senjata-senjata yang tadi kita buat kita import dan kita gunakan pada misi. Perhatikan pada bagian ini:
ini adalah kode untuk mewujudkan objek (instansiasi) dari kelas UrusanWiFi, UrusanIoT dan Scheduler. Dari namanya kalian bisa tebak apa kesaktian yang di miliki oleh objek-objek itu.
Selain itu, juga ada beberapa fungsi callback, fungsi callback adalah fungsi yang dipanggil ketika sesuatu terjadi, misal ada pesan datang, maka fungsi penangkapPesan akan dipanggil untuk mengolah pesan itu.
Ada juga objek penjadwal, ini bisa kita perintah untuk membantu kita menjalankan tugas-tugas repetitif/berulang, misalnya mengirim data ke broker.