Kamis, 11 April 2024

Testing LoRa (2)


Pada bulan ini Shanti sudah selesai membuat antenna untuk Lora, dan sudah memasang perangkat Lora di atap kantor.

Pada awalnya, perangkat tersebut tidak dapat berkomunikasi dengan perangkat lainnya. Setelah setting MQTT dimatikan, perangkat yang diatap dapat berkomunikasi dengan perangkat lain.

Saat ini, perangkat masih menggunakan listrik PLN melalui charger HP. Dikemudian hari, perangkat ini akan dihubungkan dengan solar panel, sehingga akan mempunyai sumber listrik mandiri. 

Perangkat Lora sudah dimasukkan kedalam kotak yang kedap air. Saat ini Shanti sedang mencoba berapa jauh perangkat ini dapat berkomunikasi. Apabila Shanti kurang puas dengan hasil uji coba, kemungkinan Shanti harus  kembali melakukan modifikasi diwaktu yang akan datang. 

Satu hal sudah diketahui, kabel RG8 yang digunakan kemungkinan besar bukan tipe “Low loss”, sehingga mempengaruhi nilai SWR ketika disambungkan ke antenna. Shanti akan mencoba membeli dan menggantinya dengan yang lebih baik.

Saat ini, node Meshtastic sudah terpasang dan berfungsi di daerah jakarta barat, menggunakan regio SG_923, di 923MHz.

 


Antena dipole terpasang diatap

Perangkat LoRa
didalam kotak hitam

 

Senin, 11 Maret 2024

Testing LoRa (1)

Shanti sudah membeli board Lora, produksi Heltec Lora 32 V3 frekuensi 863 – 928 MHz, dan frekuensi 433 – 510 MHz. Nano VNA juga sudah dibeli, alat ini akan digunakan untuk tuning antenna.

Shanti sudah mencoba membuat antenna untuk frekuensi 923MHz, dan nilai SWR yang didapatkan sudah dibawah 1,5. Antena sederhana ini terbuat dari kawat tembaga berdiameter 3mm. Desain antenna mengikuti perhitungan untuk antenna JPole untuk frekuensi 923MHz.

Setelah itu, Shanti mencoba mengemas antenna supaya mudah digunakan, dengan menggunakan resin epoxy. Antena tidak bisa dimasukkan seluruhnya kedalam pipa karena nilai SWR meloncat tinggi, sehingga hanya bagian bawah yang dimasukkan kedalam pipa paralon dan difiksasi dengan resin.

Masalah muncul ketika antenna sudah dimasukkan kedalam pipa pralon dan ditambah resin. Keesokan hari ketika resin sudah kering, dan antenna sudah selesai, ternyata nilai SWR berubah menjadi sangat tinggi dan akhirnya antenna tidak bisa digunakan. Penggunaan resin ternyata sangat mempengaruhi antenna.

Sehingga Shanti harus membuat antenna baru, tanpa menggunakan resin. Sayang sekali karena kemasan ini mudah digunakan karena konektor antenna sudah terpasang dibagian bawah antenna.

Setelah antenna baru selesai dibuat, Shanti mencoba menggunakan kawat tembaga berukuran kecil yang disolder ke antenna dengan menggunakan torch, lalu kabel RG58 disolder ke kawat tembaga tersebut. Ternyata hal ini juga menyebabkan SWR menjadi hancur. Penyebabnya karena kabel RG58 tidak dapat disolder dengan baik ke kawat tembaga tersebut, sementara penggunaan torch tidak dapat dilakukan karena kabel akan meleleh.

Shanti mencoba lagi dengan menggunakan skun gepeng yang disolder ke kawat tembaga, lalu kabel RG58 dipasangi skun gepeng, dan kedua skun dihubungkan.

Shanti mencoba membuat antenna dengan berbagai cara dan desain. Pembuatan antenna Jpole maupun Slimjim tidak begitu memuaskan, dari beberapa buah yang dibuat, hanya satu buah yang mempunyai nilai SWR lebih kecil dari 1,5. Walaupun pada awalnya nilai SWR sudah bagus, ketika konektor dipasang dan antenna sudah selesai, ternyata nilai SWR berubah menjadi buruk. 

Hingga laporan ini dibuat, desain antenna yang lebih mudah untuk frekuensi 915-923 MHz ternyata adalah jenis dipole. Shanti lebih berhasil dalam proses pembuatan antenna jenis ini. Shanti masih mencoba membuat beberapa buah antenna, dan akan mencoba jenis  lainnya.

Shanti sudah terbiasa membuat antenna jenis Slimjim untuk frekuensi VHF (sekitar 144 MHz) dan UHF (sekitar 400 MHz). Dari proses ini, Shanti masih harus belajar kembali tentang jenis antenna untuk frekuensi 915 – 923 MHz. Termasuk didalamnya adalah material dasar untuk antenna. Shanti menemukan bahwa penggunaan kabel tunggal berukuran 2,5mm dan kawat tembaga enamel berukuran 3mm menghasilkan kualitas antenna yang berbeda. Shanti akan mencoba penggunaan kawat tembaga yang dilapisi perak.

Shanti mencari antenna yang terbaik dan paling mudah digunakan karena perangkat LoRa ini hanya menghasilkan arus gelombang yang sangat kecil.

 


Mencoba LoRa dengan antena bawaab

Antena Jpole SWR <1,5

JPole dengan Paralon dan resin, SWR hancur

JPole dengan kaki kayu, SWR <1,5

Antena Dipole SWR <1,5

Antena Slimjim SWR<1,5

 

 

 

 

 

 

Selasa, 13 Februari 2024

Bulan Januari yang sibuk

Bulan ini Shanti dapat menyelesaikan beberapa tugas yang sudah agak lama berlangsung. 

Yang pertama adalah lagu tentang Rabies. Lagu ini sudah selesai, dengan judul Epan-Epan rabies. Desain lagu ini diperuntukkan bagi daerah NTT, sehingga dialek setempat digunakan pada lirik lagu. Walaupun begitu, menurut Shanti, lagu ini dapat digunakan juga didaerah lain. 

Lagu sudah mulai disebarkan ke semua kontak yang dimiliki Shanti di daerah NTT, walaupun begitu, masih terasa belum menyebar luas. Shanti akan berkunjung ke NTT dan mencoba memasukkan lagu tersebut ke stasiun-stasiun radio lokal didaerah NTT.

Shanti juga berhasil menyelesaikan rangkaian sistim peringatan dini berbasiskan arduino. Kotak yang sesuai sudah ditemukan dan rangkaian sudah dapat dimasukkan semua kedalam kotak. Walaupun begitu, kotak masih belum ditutup karena harus dilakukan penyesuaian ketika akan digunakan dilapangan. Shanti juga masih mencari lokasi yang tepat untuk uji coba sistim ini.

Ketika bermain dengan arduino, Shanti sempat juga berkenalan dengan ESP32. Dan belajar bahwa ESP32 ini dapat juga digunakan sebagai alat komunikasi dalam situasi darurat. Penggunaannya lebih dikenal dengan sistim LoRa dengan menggunakan software Meshtastic. Sehingga Shanti akan melakukan berbagai percobaan untuk melihat kemungkinan penggunaannya dalam situasi darurat.

Diluar itu, Shanti juga sempat memberikan bantuan bagi pengungsi letusan gunung Lewotobi laki-laki didaerah Flores Timur. Bantuan disalurkan melalui LSM lokal, YASPEM.




Sistim EWS siap dimasukkan kedalam kotak

Solar panel mini untuk sistim ews

 


Senin, 08 Januari 2024

Menyiapkan Sistim peringatan dini (4)

Shanti sudah menemukan kotak yang cocok untuk seluruh system, dengan satu buah baterai lithium 18650. Sistim sudah disolder ulang, siap untuk dimasukkan kedalam kotak.

Solar panel yang dibutuhkan tidak tersedia dilapangan, sehingga Shanti harus membuat sendiri. Shanti juga sudah mulai merangkai solar panel yang dibutuhkan, proses ini juga berguna untuk melatih staf Shanti untuk merangkai solar panel buatan sendiri.

Solar panel menggunakan PVC board setebal 5 mm sebagai dasarnya, dan acrylic setebal 3 mm sebagai penutupnya. Solar cell yang digunakan berukuran 26 x 52 mm, masing-masing menghasilkan 0,5 volt dan 0,2 ampere. Solar cell ini disusun secara serial sebanyak 10 keping, sehingga menghasilkan 5 volt. Lalu dirangkai 3 baris secara pararel, sehingga hasil akhirnya adalah 5 volt, 0,6 ampere. Solar panel ini berukuran sebesar kertas A4.

Saat laporan ini ditulis, solar panel dan kotak sistim peringatan dini masih dalam proses penyelesaian. Setelah semua selesai, Shanti akan memodifikasi coding untuk pemakaian dilapangan, dan mencari lokasi yang baik untuk uji coba.
 
 
 

Kamis, 07 Desember 2023

Menyiapkan Sistim peringatan dini (3)

Pada awal bulan ini Shanti masih mencoba melengkapi coding untuk ESP32. Walaupun begitu, setelah dicoba dengan berbagai cara, masih tidak berhasil membuat ESP32 bekerja sesuai dengan yang diinginkan.

Shanti lalu mencoba untuk kembali menggunakan Arduino nano. Setelah mencoba berkali-kali, akhirnya arduino nano bekerja dengan baik, sesuai dengan yang diinginkan. Shanti tidak memiliki pengetahuan yang mendalam tentang penulisan coding ataupun arduino dan ESP42. Sehingga lebih banyak mencoba menulis coding, melihat hasilnya, merubah coding kembali, dan seterusnya.

Shanti menghabiskan waktu yang lama, lebih dari tiga bulan untuk keseluruhan proses. Selama proses, Shanti juga menemukan bahwa modul Sim800L dan sensor jarak jsn-sr04t mudah rusak. Keduanya sensitive dengan perubahan voltase, Shanti harus membeli 3 buah modul sim800L dan 1 buah modul jsn-sr04t karena rusak selama proses percobaan.

Langkah berikutnya adalah memasukkan semua perlengkapan kedalam sebuah kotak, sehingga aman dari cuaca (panas, hujan, debu) bila misalnya diletakkan ditepi sungai. Sumber listrik akan menggunakan solar panel, sementara penyimpanan listrik kemungkinan besar akan menggunakan baterai lithium 18650. Baterai lithium ini berukuran jauh lebih kecil daripada aki vrla. Shanti sudah banyak pengalaman menggunaan solar panel dan baterai lithium 18650, sehingga tidak menjadi masalah besar.

Shanti akan melihat kembali Esp32 setelah perangkat diatas selesai dirakit didalam kotak kedap air.

Selasa, 07 November 2023

Menyiapkan Sistim peringatan dini (2)

Sudah dua bulan Shanti berusaha menyelesaikan coding untuk sistim peringatan sederhana ini. Walaupun begitu, ternyata tidak semudah yang dibayangkan. 

Selama sebulan ini Shanti mencoba menulis coding dengan berbagai cara supaya perangkat bekerja dengan baik sesuai dengan yang diinginkan. Peralatan masih belum dapat berfungsi dengan baik.

Karena tidak berhasil dengan Arduino, Shanti mencoba mengganti Arduino dengan ESP32 Wroom. Perangkat ini menggunakan prosesor yang lebih baik daripada arduino. Walaupun begitu, Shanti harus belajar kembali karena coding untuk ESP32 ini tidak sama persis dengan coding untuk arduino.

Ketika dicoba dengan berbagai cara, ternyata prosesnya juga tidak semudah yang diharapkan. Terlebih lagi, panduan dari internet tidak sebanyak Arduino.

Selama proses, Shanti menemukan bahwa arus listrik yang menuju SIM800L ternyata tidak cukup besar, sehingga menyebabkan SIM800L tidak dapat berfungsi dengan baik. Setelah arus listrik diubah dengan menggunakan baterai Lithium 18650, tampaknya SIM800L dapat berfungsi dengan baik.

Hal ini menyebabkan Shanti mencoba kembali menggunakan Arduino karena dengan ESP32 Wroom hasilnya lebih parah.

Shanti membutuhkan waktu yang lama karena proses ini dilakukan dengan trial-error-revisi. Ketika laporan ini ditulis, Shanti masih mencoba berbagai cara. Proses ini akan berlangsung terus hingga peralatan berfungsi sesuai dengan yang diinginkan dan Shanti yakin akan berfungsi baik ketika digunakan di lokasi yang sebenarnya.

Senin, 09 Oktober 2023

Menyiapkan Sistim peringatan dini

Bulan ini Shanti mencoba memperbaiki program pada Arduino nano dan SIM800L. Arduino Nano menjadi pusat pengaturan semua peralatan lainnya, sementara SIM800L adalah modul GSM yang menghubungkan arduino dengan jaringan GSM. Dengan kedua peralatan ini, Shanti dapat mengatur perubahan-perubahan dengan melalui SMS, sehingga dapat dilakukan dari jarak jauh. Arduino nano juga dapat mengirimkan pesan-pesan SMS peringatan dini melalui modul SIM800L tersebut.

Tidak mudah untuk menyiapkan/mengatur arduino nano supaya dapat melakukan tugas yang diinginkan. Shanti membutuhkan banyak waktu dan percobaan – percobaan untuk memastikan peralatan berfungsi seperti yang diharapkan.

Shanti sudah memastikan bahwa SIM800L dapat digunakan dengan simcard telkomsel dan XL. Shanti juga sudah berhasil membuat kedua peralatan tersebut bereaksi dengan baik ketika perintah dikirimkan melalui SMS.

Melalui coding tersebut, Shanti dapat merubah nomor telpon yang tersimpan di arduino nano. Daftar nomor-nomor telpon ini penerima pesan SMS peringatan dini. Seperti kita ketahui, kemungkinan besar daftar nomor-nomor telpon ini akan berubah seiring dengan waktu, misalnya, pak kades mengganti nomor telpon, atau terjadi penggantian kades yang menggunakan nomor telpon berbeda, dll.

Akan sangat menyulitkan bila Shanti harus datang ke lokasi dan mengganti daftar nomor telpon tersebut. Akan sangat membantu bila proses penggantian ini dapat dilakukan dari jarak jauh melalui SMS saja.

Hingga laporan ini ditulis, Shanti berhasil menyiapkan rangkaian arduino – Simcard – sensor jarak untuk dipakai sebagai alat peringatan dini yang murah. Walaupun begitu, masih ada proses yang masih belum selesai:

  • Menggabungkan semua coding yang masih terpisah-pisah menjadi satu program.
  • Melakukan tes hingga Shanti yakin semua proses sudah bekerja dengan baik.
  • Menyiapkan solar panel dan baterai yang sesuai untuk menyediakan listrik bagi seluruh peralatan.
  • Menyatukan seluruh rangkaian peralatan menjadi ringkas, tahan terhadap situasi dilapangan, dan akhirnya siap pakai.

Shanti masih membutuhkan waktu untuk menyelesaikan semuanya hingga peralatan siap pakai.

 

Dibawah ini adalah contoh program arduino yang dibuat untuk mengubah daftar nomor telpon melalui perintah SMS.

 

       

#include 

//Create software serial object to communicate with SIM800L
SoftwareSerial mySerial(3, 4); //SIM800L Tx & Rx is connected to Arduino #3 & #2

String message;
String CellNumtemp;
String CellNum;
String f1001;
String f1002;
String f1003;


void setup()
{
  //Begin serial communication with Arduino and Arduino IDE (Serial Monitor)
  Serial.begin(9600);
  
  //Begin serial communication with Arduino and SIM800L
  mySerial.begin(9600);

  Serial.println("Initializing..."); 
  delay(1000);

  mySerial.println("AT"); //Once the handshake test is successful, it will back to OK
  updateSerial();
  
  mySerial.println("AT+CMGF=1"); // Configuring TEXT mode
  mySerial.println("AT+CNMI=1,2,0,0,0");
  f1001 = "+3456789012345";
f1002 = "+2345678901234";
f1003 = "+1234567890123";

}

void loop()
{
  // mySerial.println("AT+CMGDA=\""); 
  // mySerial.println("DEL ALL\"");
  updateSerial();




updateSerial();

message =mySerial.readString();

   Serial.println (message);

   
   CellNumtemp = message.substring(message.indexOf("+62"));
   CellNum = CellNumtemp.substring(0,14);

   Serial.println("nomor pengirim:");
   Serial.println(CellNum);


    if (message.indexOf("NEW f1001:") > -1) {
        int idx = message.indexOf("f1001:");

        f1001 = message.substring(idx+6, idx+6+f1001.length());
        Serial.println (f1001);
          
          mySerial.println("AT+CMGF=1"); // Configuring TEXT mode
          delay(1000);
          mySerial.print("AT+CMGS=\"" + CellNum + "\"\r");
          delay(1000);
          mySerial.print("New f1001:"); //text content
          mySerial.print(f1001); //text content
          delay(1000);
          mySerial.println((char)26);
          delay(1000);
}
    if (message.indexOf("NEW f1002:") > -1) {
        int idx = message.indexOf("f1002:");

        f1002 = message.substring(idx+6, idx+6+f1002.length());
        Serial.println (f1002);
          
          mySerial.println("AT+CMGF=1"); // Configuring TEXT mode
          delay(1000);
          mySerial.print("AT+CMGS=\"" + CellNum + "\"\r");
          delay(1000);
          mySerial.print("New f1002:"); //text content
          mySerial.print(f1002); //text content
          delay(1000);
          mySerial.println((char)26);
          delay(1000);
}
    if (message.indexOf("NEW f1003:") > -1) {
        int idx = message.indexOf("f1003:");

        f1003 = message.substring(idx+6, idx+6+f1003.length());
        Serial.println (f1003);
          
          mySerial.println("AT+CMGF=1"); // Configuring TEXT mode
          delay(1000);
          mySerial.print("AT+CMGS=\"" + CellNum + "\"\r");
          delay(1000);
          mySerial.print("New f1003:"); //text content
          mySerial.print(f1003); //text content
          delay(1000);
          mySerial.println((char)26);
          delay(1000);      

}
if (message.indexOf("REPORT") > -1) {
        
          mySerial.println("AT+CMGF=1"); // Configuring TEXT mode
          delay(1000);
          mySerial.print("AT+CMGS=\"" + CellNum + "\"\r");
          delay(1000);
          mySerial.print("f1001:"); //text content
          mySerial.print(f1001); //text content
          mySerial.print("\nf1002:"); //text content
          mySerial.print(f1002); //text content
          mySerial.print("\nf1003:"); //text content
          mySerial.print(f1003); //text content
                 
          delay(1000);
          mySerial.println((char)26);
          delay(1000);       

}

}
void updateSerial()
{
  delay(500);
  while (Serial.available()) 
  {
    mySerial.write(Serial.read());//Forward what Serial received to Software Serial Port
  }
  while(mySerial.available()) 
  {
    Serial.write(mySerial.read());//Forward what Software Serial received to Serial Port
  }



}