» »

Arduino - Java komunikacija

Arduino - Java komunikacija

šrawfncigr ::

Pozdravljeni,

Zanima me kako je s komunikacijo med javo ter arduinom prek usb porta.
Nekaj sem že gledal vendar mi ni jasno kako bi naredil da bi prek jave poslal naj arduino požene določeno metodo (npr. metoda(parametri). Pomembno mi je da bi prek jave poslal tudi parametre kateri bi bili uporabljeni v metodi.

Hvala za vsako pomoč.

LP

stapler rump ::

Mogoče ti tole kaj pomaga:

http://playground.arduino.cc/Interfacin...

KraitPay ::

Zdravo!

Nič lažjega kot to; Preko jave narediš komunikacijo preko COM porta, ki ga izbereš v GUI. Pošlješ recimo ukaz v arduinotu pa dekodiraš ukaz. Npr.
SerialSend("Vklopi led 1\n");

Tako bi lahko vklapljal ali izkapljal porabnike, lahko bi spreminjal tudi analogne vrednosti ipd.

Več informacij imaš tukaj

šrawfncigr ::

Hvala!

Sem rešil na tak način kot si mi napisal.

Primer:
Prek jave pošljem ukaz (metoda;parameter1;parameter2;parameter3;*)
Katerega mi razdela v array. Nato pa z if stavki ugotovim kateri ukaz je bil poslan.
* pomeni konez ukza da ga pošlje v obdelavo.


Sedaj pa me zanima še kontra postopek kako bi iz arduinota poslal določen podatek katerega bi mi shranilo v javino spremenlivko oz. izvršilo določeno funkicjo z parametri.

Lep pozdrav.

KraitPay ::

Jah bereš pač iz comporta na PCju. Enaka koda le da jo obrneš in pač posluša java in ne več arduino.

Več o serijski komunikaciji iz arduinota je tukaj.

šrawfncigr ::

To že razumem. Vendar ne vem s katerim ukazom bi iz arduinota poslal podatke v javo ker če dam Serial.print() mi avtomatsko izpiše ali se da to kako preurediti.

LP

FX6300B ::

ti hočeš narediti kot nekakšen serial controller za arduinota?
May the force be with you!

Zgodovina sprememb…

  • spremenil: FX6300B ()

šrawfncigr ::

Nevem kaj misliš kot "serial kontroler".

Na arduinotu bi rad imel določen program katerega bi rad upravljal prek javinega programa.

LP

FX6300B ::

no saj tako sem mislil pač preko serial porta
May the force be with you!

KraitPay ::

POčakaj malo; kaj ti izpiše? Podatki ki jih pošiljaš preko seriskega protokola? Ja normalno da ti pokaže če si pa povezan preko seriskega protokola na arduno preko grafičnega vmesnika na PC-ju.

Zapri COMport v Arduinotu in bo arduino začel pošiljati podatke tja, kamor ga boš povezal. Pač preko Jave narediš na bere na tistem portu na katerem je Arduino.
Če boš odpru v Arduino vmesniku seriski port ti bo prikazovalo seriske podatke tam, če zapreš okno in odpreš na PCju custom terminal potem se on poveža na željen port in posluša.

Ne moreš pa poslšat iz dveh mest ker je to point-to-point povezavam, torej točkovna in ne more pošiljati na več comportov.

poskusi s putty terminal

Zgodovina sprememb…

  • spremenil: KraitPay ()

šrawfncigr ::

Pozdravljeni!

Hvala za vsoo pomoč do sedaj. Dosegel sem kar sem hotel in zadeva s pomočjo JSSC knjižnice deluje odlično.

Edino kar me še moti je to da ne znam narediti da bi mi program zaznal če je bila povezava prekinjena.
Namreč če med delovanje odklopim arduino iz usb porta ostane v javi port odprt in ne zazna nobene napake oz. motenega delovanja.

Lep pozdrav!

KraitPay ::

Pač naredi v javi da če podatka v 5s ne moreš prebrati v javi, ti javi napako. Enostavno rešeno...

šrawfncigr ::

Pozdravljeni!

Zopet se javljam.
Rešil sem že skoraj vse probleme in s programom sem kar zadovoljen.

Muči me pa še ena težava glede identifikacije naprave.
Namreč ko izpišem listo naprav izgleda naprimer (COM3, COM5, COMxy). Iz tega nikakor ne morem razbrati katera naprava je moj arduino.

Ima kdo kakšn idejo kako bi ta problem rešil?

Lep pozdrav

FX6300B ::

lahko pogledaš v device managerju drugače pa pomoje bolj težko, morda prek VID in PID ?
May the force be with you!

šrawfncigr ::

VID, PID?
Lahko poveš kaj več?

LP

FX6300B ::

PID je product id VID pa vendor id lahko bi pogledal če je kakšna ima arduino v device managerju potem bi pa lahko uporabil tako da ti te com porte ki jih zazna jim preveril kakšen je pid in na podlagi tega bi ostal samo arduino vrjetno bi uporabil PID upam da zastopiš neznam drugče razložit in sorry za slovnične napake :D
May the force be with you!


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

ESP8266 ESP-12E (NodeMCU 1.0)

Oddelek: Elektrotehnika in elektronika
453646 (2491) dc10
»

ARDUINO MEGA 2560 Težava

Oddelek: Elektrotehnika in elektronika
71897 (1663) m123l
»

Arduino in luči (strani: 1 2 )

Oddelek: Elektrotehnika in elektronika
9812176 (9802) FX6300B
»

Arduino Nano problem

Oddelek: Elektrotehnika in elektronika
133779 (2830) FX6300B
»

Arduino informacije na spletno stran

Oddelek: Programiranje
5874 (796) d4vid

Več podobnih tem