Connessione remota Arduino --> MariaDB su NAS

Usare il NAS come Web Server (Drupal, Joomla, WordPress ...)
Rispondi
tonygiger
Utente
Utente
Messaggi: 2
Iscritto il: venerdì 11 dicembre 2020, 11:41

Connessione remota Arduino --> MariaDB su NAS

Messaggio da tonygiger »

Ciao a tutti, spero di essere nella sezione del forum giusta per porre il mio quesito e chiedo anticipatamente scusa se nel descriverlo farò qualche strafalcione. Sono relativamente nuovo nel mondo NAS Synology con annessi e connessi. Le mie esperienze di programmazione risalgono a svariati anni fa e ora sto faticosamente cercando di tornare al passo (base base) coi tempi.

Sto lavorando a un progetto basato sull'architettura WH/SW Arduino per le quali servono quindi delle basi di C++.
Concettualmente l'idea dietro al progetto è molto semplice e lo riassumo così:

1) Una scheda Arduino MKR WiFi 1010 acquisisce dei dati da dei sensori
2) I dati vengono inviati a un database MySQL (MariaDB 5), con semplici INSERT
3) I dati sul DB vengono elaborati a piacere e visualizzati in dashboard, inizialmente usando Grafana, ma potenzialmente su pagine web .php dedicate e costruite ad-hoc.
4) I dati sul DB potrebbero anche essere letti dalla stessa scheda Arduino (o altre) per gestire e generare degli allarmi, attivare cose, ecc...

La scheda Arduino sarà inizialmente collegata via WiFi alla stessa rete del NAS, ma dovrà essere possibile collegarla ad altre reti e/o con modulo SIM dati potendo cmq caricare i dati sul DB che risiederà sempre sul NAS sulla rete originale.

Sui punti 1), 3) e 4) direi che sono coperto:
- la scheda Arduino per quell'operazione la so programmare (già fatto);
- MariaDB 5 già installato sul NAS (Synology coma da firma) e funzionante;
- phpMyAdmin installato e avviato;
- BD creato e funzionanate;
- Grafana installato, collgato al DB e funzionante.


Mi rimane un grosso dubbio (magari per i più esperti molto banale) sul collegamento al DB sul NAS.

Sto studiando questa libreria per poterlo fare:
https://github.com/khoih-prog/MySQL_MariaDB_Generic
(la parte che mi interessa è la WIFININA per il tipo di scheda che userò).

Nello specifico le righe di codice che dicono alla scheda dove sia il DB e avviano la semplice query di inserimento dati (quello sotto è solo un esempio generico per scrivere in una riga "Hello, Arduino!") sono queste:

Codice: Seleziona tutto

IPAddress server_addr(192, 168, 2, 112);
uint16_t server_port = 5698;    //3306;

char default_database[] = "test_arduino";           //"test_arduino";
char default_table[]    = "hello_arduino";          //"test_arduino";

String default_value    = "Hello, Arduino!"; 

// Sample query
String INSERT_SQL = String("INSERT INTO ") + default_database + "." + default_table 
                 + " (message) VALUES ('" + default_value + "')";

MySQL_Connection conn((Client *)&client);
Ora, come vedete oltre alla porta, chiede l'IP del server:
IPAddress server_addr(192, 168, 2, 112)

Ecco... qui il mio dubbio. Io che NON ho un IP statico, cosa devo metterci?
Il nome host? Cioè del mio NAS tipo mionas.synology.me? Del server dove gira il DB? In questo ultimo caso quale sarebbe?
Nella finestra di info di MariaDB 5 trovo un campo chiamato "Socket dominio" che contiene l'indirizzo /run/mysqld/mysqld.sock, potrebbe essere questo?

Grazie a tutti!
  • UPS: APC Back-UPS BX - BX950U-GR
  • GTW: Fritz Box 7590 ISP: Alice FTTC (30/10) IP: Public
  • SWC: Netgear GS316
  • NAS: Synology DS918+ (DSM 6.2.3-25426 Update 2) 2GB; 2xWD Gold 4TB; LAN:1
  • CLI: W10
  • ALTRO:
    • iPhone, iPad, Smart TV Sony
  • EXP: E4 - NET5 PC:W8, M6, L5
llac
Utente
Utente
Messaggi: 113
Iscritto il: mercoledì 8 giugno 2016, 0:31

Re: Connessione remota Arduino --> MariaDB su NAS

Messaggio da llac »

Nella tua LAN e soprattutto se c’è la necessita di accedere a un DB è buona cosa impostare un IP Fisso. Io preferisco farlo fare al router piuttosto che configurare il nas direttamente. (solo perché è più comodo)

Il tuo NAs si presenta alla rete con un nome che avrai configurato al primo avvio che puoi usare al posto , in un workgroup (intendo senza active directory o simile) ho sempre preferito usare l'IP.

Per gli accessi extra LAN eviterei di esporre il NAS e il DB ma userei una VPN , se non puoi con la VPN in passato per un problema simile ho usato la mail ...poi non ti rimane che pensare un meccanismo che legga la mail e trasferisca il contenuto dell'allegato al DB.

nella stringa di connessione del DB va l'ip del server con il DB che presumo essere il nas.

Ciao
Luca
  • UPS APC BE325-IT / PowerWalker VI1000STL
  • GTW: Avm Fritz box 4040 ISP: FTTH IP:Shared
  • SWC: Zyxel Switch Unmanaged, 24 porte Gigabit / AVM FRITZ!WLAN Repeater 3000 / Avm FRITZ!WLAN REPEATER 1200 / SWC vari Tp-link Netgear
  • NAS: DS116 ,DS120j :( , Buffalo LinkStation LS-XL (1TB)
  • DSM: > 6.0
  • CLI: Windows
  • EXP: E[5] - NET[4] PC:W[7],M[0],L[4]
Rispondi

Torna a “Web Server (Web Station)”