Home » Posts filed under Database
Friday, 23 April 2021
Sharing Sourcecode : Modbus Log to MySQL Database - VB
Friday, 12 February 2021
Scalare update 1.0.0.4
tambahan pada versi ini:
+ Menu+ Scale factor (faktor pengali) di bagian Tag Management
+ Alarms (Configuration, Monitoring, Archived)
+ Logging (Configuration dan Archived)
+ tombol Request Full Version di bagian About
Download aplikasi Scalare disini:
hadiscada.com/scalare
*versi Portable sudah terupdate, untuk Setup nya belum
Terima kasih.
Tuesday, 8 September 2020
ESP8266 sebagai pengirim data dari Arduino ke Database SQL
Latar belakang permasalahan:
Saya mempunyai Arduino yang berfungsi sebagai pengolah data dari sensor. Kemudian saya ingin menyimpan data-data tersebut ke database SQL. Untuk bagian pembacaan sensor oleh Arduino sudah tidak ada masalah, tapi untuk menyimpan ke SQL bagaimanakah caranya? berikut adalah catatan saya dalam menemukan solusinya..
Sekilas mengenai ESP8266 :
Modul Wifi ESP8266 ini sebenarnya adalah sejenis Mikrokontroler juga, karena punya beberapa pin digital input/output, maupun analog dan pin serial. Kelebihan yang paling utama dari modul ini adalah sudah adanya Wifi, sehingga kita bisa memanfaatkannya untuk berkomunikasi dengan perangkat-perangkat lain selama terhubung dalam jaringan TCP/IP.
Sebenarnya pada Arduino juga bisa kita pakai shield khusus untuk koneksi Ethernet TCP atau Wifi. Hanya karena pada saat ini saya belum bisa mendapatkan modul/shield tersebut maka saya memutuskan untuk memanfaatkan modul Wifi ESP8266 karena kebetulan sudah ada.
Baiklah mari kita mulai. Seperti inilah sistem yang akan kita buat :
- modul ESP8266 yang saya pakai adalah NodeMCU Lolin,
- IDE yang saya pakai untuk programming Arduino dan ESP adalah Arduino IDE,
- SQL database yang saya pakai adalah MySQL,
- web server platform yang saya pakai adalah Laragon.
- Laptop yang saya pakai sebagai Webserver sudah dilengkapi wifi,
- jaringan LAN saya gunakan Hotspot dari ponsel,
<?php$conn = new mysqli("localhost","root","123456","ardulog");// Check connectionif ($conn -> connect_errno) {echo "Failed to connect to MySQL: " . $conn -> connect_error;exit();}?>
<?phpinclude("connection.php");if(!empty($_POST)){$tag = $_POST["tag"];$value = $_POST["value"];$query = "INSERT INTO tblog (tag,value)VALUES ('".$tag."','".$value."')";if ($conn->query($query) === TRUE) {echo "Berhasil menyimpan data ke database";} else {echo "Error: " . $sql . "<br>" . $conn->error;}}?>
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
String ssid = "AndroidAP_HD";
String pass = "hadilina8";
String msg = "";
void setup() {
Serial.begin(9600);
ConnectWifi();
}
void loop() {
if(Serial.available()){
while(Serial.available()){
msg += char(Serial.read());
}
}
if(msg.startsWith("*") && msg.endsWith("#")){
Serial.println(msg);
String cmd = msg;
msg = "";
if(cmd.substring(0,7)=="*>POST="){
int len = cmd.length();
String ns = cmd.substring(7,len-1);
String spage = splitString(ns, '$', 0);
String spost = splitString(ns, '$', 1);
post2server(spage, spost);
}
}
}
void ConnectWifi(){
WiFi.begin(ssid, pass);
int i=0;
while(WiFi.status() != WL_CONNECTED) {
delay(1000);
i+=1;
Serial.print(".");
if(i>20){
Serial.println("WiFi failed! ");
return;
}
}
Serial.println("");
Serial.println("WiFi connected.");
Serial.println(WiFi.localIP());
}
String splitString(String data, char separator, int index)
{
int found = 0;
int strIndex[] = { 0, -1 };
int maxIndex = data.length() - 1;
for (int i = 0; i <= maxIndex && found <= index; i++) {
if (data.charAt(i) == separator || i == maxIndex) {
found++;
strIndex[0] = strIndex[1] + 1;
strIndex[1] = (i == maxIndex) ? i+1 : i;
}
}
return found > index ? data.substring(strIndex[0], strIndex[1]) : "";
}
void post2server(String page, String postData)
{
HTTPClient http;
http.begin(page);
http.addHeader("Content-Type", "application/x-www-form-urlencoded");
int httpCode = http.POST(postData);
String payload = http.getString();
Serial.println(httpCode);
Serial.println(payload);
http.end();
}
#include "SoftwareSerial.h"SoftwareSerial ss(2, 3);int i;void setup() {Serial.begin(9600);ss.begin(9600);i = 0;}void loop() {delay(10000);i += 1;String spost = "*>POST=";spost += "http://192.168.43.17/server_log.php";spost += "$";spost += "tag=loop";spost += "&value=";spost += i;spost += "#";ss.print(spost);Serial.println(spost);}
Tuesday, 5 May 2020
Video Tutorial : VB Modbus TCP Client to MySQL Database
Please see the previous video :
Visual Basic Modbus TCP Client
http://hadiscada.blogspot.com/2020/05/video-tutorial-visual-basic-modbus-tcp.html
This video is the advanced step, now we will do monitoring Modbus TCP data then logging to MySQL database.
TimeSteps:
00:04 Form Design
05:50 Setup MySQL Database and Table
07:58 Scripting
17:50 Test
The project source code can be downloaded here:
https://drive.google.com/open?id=1Cv8CU8a_tDqLM3YimtGDiuwmxWwJJ-3m
Thank you.