Go Down

Topic: Autodiscovery degli slave modbus rtu (Read 1 time) previous topic - next topic

niki77

Un po off topic , ma te lo devo dire, non mi piace molto mono in generale, figuriamoci per android.
Se posso una curiosità, perché non Java?
Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

daniele_dll


Un po off topic , ma te lo devo dire, non mi piace molto mono in generale, figuriamoci per android.
Se posso una curiosità, perché non Java?


Trauma inter-lavorativo :D

Detto questo, android, soprattutto nelle ultime incarnazioni, 4.0 a salire, è decisamente fatto di un'altra pasta. Inoltre io lavoro principalmente in C# ed ho MOLTO codice mio già scritto quindi per me poter sviluppare in C# è un grosso vantaggio.

Inizialmente, in realtà, avevo valutato di costruirmi un sistema da zero (crosstools-ng + buildroot) ma l'unica piattaforma interessante, che tra l'altro mi aveva anche fatto considerare l'ipotesi di bypassare in toto arduino per una parte del progetto, era l'i.MX233 (una board arm da 433mhz dal costo di 27€!) ma purtroppo non è supportata dalla serie 3 del kernel, neanche nella 3.7 RC2 che avevo letto esserlo invece, e quindi ho lasciato perdere pensado di tornare ad usare una ALIX (solitamente le uso per gli apparati di rete)
Ma usare android significa:
- appoggiarsi ad un ecosistema già pronto
- avere un ambiente grafico facilmente gestibile
- avere le funzionalità di rete cablata, wireless e vpn già pronte
- avere un server ssh con estrema semplicità
- poter fare il debugging dell'applicativo direttamente da dentro il visual studio anche da remoto (adb su tcp/ip)

Ed insomma potrei continuare per un bel pezzo :)
Software/Embedded/Web Developer, Linux Sys Admin

niki77

Beato te che puoi ancora scegliere!
Professionalmente anche io uso molto c# , o forse sarebbe meglio dire usavo, visto che nel corso degli anni ho dovuto spaziare talmente tanto che al momento scrivere in c# , c , c++, Java o che altra madonna sia è diventato indifferente.
Per fortuna di IDE ne riesco ad utilizzare 2 soli per tutto e ho fatto in modo di avere shortcuts e look&feel pressoché identiche,sennò c'e da diventare scemi!
Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

daniele_dll


Beato te che puoi ancora scegliere!
Professionalmente anche io uso molto c# , o forse sarebbe meglio dire usavo, visto che nel corso degli anni ho dovuto spaziare talmente tanto che al momento scrivere in c# , c , c++, Java o che altra madonna sia è diventato indifferente.


beh, si, anch'io per lavoro spazio tra C#, C, PHP, Bash e proprio quando non se ne può fare assolutamente a meno anche Java, ma sinceramente se posso lo metto da parte :)

La mia fortuna è che lavoro come libero professionista e quindi ho una certa libertà di azione :)

Quote

Per fortuna di IDE ne riesco ad utilizzare 2 soli per tutto e ho fatto in modo di avere shortcuts e look&feel pressoché identiche,sennò c'e da diventare scemi!


io utilizzo 3 IDE: VS per il .NET/C#, Netbeans per C (la mia piattaforma principale, come puoi immaginare da solo, è Windows ma in C ci lavoro il 99.99% delle volte su linux/android quindi poter scrivere codice da me ma poter avviare/debuggare il codice remotamente sul mio server linux interno è magnifico!), programmer's notepad 2 per php e bash (disco montato via samba oppure winscp via sftp), midnight commander/gedit quando sono su linux per bash/c/php (ogni tanto capita di dover lavorare volante e quindi mi adatto)

Però, in generale, i miei due ide sono VS e PN2 perché in C lavoro poco e in generale mi faccio componenti di supporto, non applicativi interi

Inoltre Mono for Android si comporta veramente veramente veramente bene, per lo sviluppo oltre all'emulatore su x86 utilizzo dei tablet android cinesi (eken) con dentro un AllWinner Pro A10 da 1Ghz e va tutto una meraviglia!
Software/Embedded/Web Developer, Linux Sys Admin

daniele_dll

mmm riprendendo un attimo la discussione, ma sempre a livello teorico, protocollo e correzioni degli errori a parte, ma non sarebbe, utile, secondo te eventualmente usare una linea aggiuntiva oltre a quelle A e B per gestire le scritture singole sulla rete RS485?

In questo modo si risolverebbe il problema alla base!

Il GROSSO svantaggio di questo sistema è che, ad esempio nel mio caso, non potrei usare direttamente un adattatore USB<->RS485 perché ovviamente non avrei come leggere la linea della "priorità".

In pratica si fa una linea, magari gestita tramite un transistor così da non uccidere arduino se la rete è di grosse dimensioni, e con una resistenza pull-down sui vari punti di collegamento, così da evitare attivazioni/disattivazioni per fluttazioni, e far si che nel momento in cui si avvia il firmware si attivi un interrupt su una porta di arduino per ricevere "in tempo reale" il segnale di linea occupata in modo da "posticipare"/"bloccare" le scritture (posticipare mettendo il tutto in buffer per poi scrivere appena la linea va low).
Chi scrive mette prima la linea in HIGH e poi fa l'operazione di scrittura (magari impostando una variabile su 1 così da ignorare il proprio interrupt legato alla linea)

Se ho capito bene, per fare questo, invece di "mangiarsi" uno degli interrupt esterni si può usare il "pin change" (ho capito cos'è ma non l'ho mai usato) su qualsiasi PIN.

Questo semplice giochino potrebbe risolvere alla base il problema.

Altrimenti, credo, si possa usare tramite il pin  RE in modo tale che fin quando questo pin è high il sistema posticipi le scritture/oppure le blocchi. Questo dovrebbe ridurre considerevolmente eventuali accavallamenti e/o blocchi.

Secondo te è una cosa fattibile?
Software/Embedded/Web Developer, Linux Sys Admin

Go Up