Kirjoittaja Aihe: Kuinka Arduino ohjelmointilaite toimimaan ?  (Luettu 2423 kertaa)

kamara

  • Käyttäjä
  • Viestejä: 3031
    • Profiili
Kuinka Arduino ohjelmointilaite toimimaan ?
« : 24.01.17 - klo:18.45 »
Kyseinen "Kiinaihme" ohjelmointilaite näkyy linuxissa:
Koodia: [Valitse]
lsusb
...
Bus 003 Device 002: ID 03eb:c8b4 Atmel Corp.
...

Laitteissa, kun on kiinni koneessa:
Koodia: [Valitse]
ls -l /dev/ >devicedwithprogrammer.txt

Ja kun on irti koneesta...
Koodia: [Valitse]
ls -l /dev/ |diff -rup devicedwithprogrammer.txt /dev/stdin
--- devicedwithprogrammer.txt 2017-01-24 16:55:43.847486131 +0200
+++ /dev/stdin 2017-01-24 16:56:50.124494853 +0200
@@ -6,7 +6,7 @@ crw-rw----  1 root disk       10, 234 ta
 drwxr-xr-x  3 root root            60 tammi 24 14:25 bus
 lrwxrwxrwx  1 root root             3 tammi 24 14:25 cdrom -> sr0
 lrwxrwxrwx  1 root root             3 tammi 24 14:25 cdrw -> sr0
-drwxr-xr-x  2 root root          4620 tammi 24 16:54 char
+drwxr-xr-x  2 root root          4560 tammi 24 16:55 char
 crw-------  1 root root        5,   1 tammi 24 14:25 console
 lrwxrwxrwx  1 root root            11 tammi 24 14:25 core -> /proc/kcore
 drwxr-xr-x  2 root root            60 tammi 24 14:25 cpu
@@ -22,7 +22,6 @@ crw-rw-rw-  1 root root        1,   7 ta
 crw-rw-rw-  1 root root       10, 229 tammi 24 14:25 fuse
 crw-------  1 root root      248,   0 tammi 24 14:25 fw0
 crw-------  1 root root      247,   0 tammi 24 14:25 hidraw0
-crw-------  1 root root      247,   1 tammi 24 16:54 hidraw1
 crw-------  1 root root       10, 228 tammi 24 14:25 hpet
 drwxr-xr-x  2 root root             0 tammi 24 14:25 hugepages
 crw-------  1 root root       10, 183 tammi 24 14:25 hwrng
@@ -62,7 +61,7 @@ crw-rw----  1 root lp         99,   0 ta
 crw-r-----  1 root kmem        1,   4 tammi 24 14:25 port
 crw-------  1 root root      108,   0 tammi 24 14:25 ppp
 crw-------  1 root root       10,   1 tammi 24 14:25 psaux
-crw-rw-rw-  1 root tty         5,   2 tammi 24 16:55 ptmx
+crw-rw-rw-  1 root tty         5,   2 tammi 24  2017 ptmx
 drwxr-xr-x  2 root root             0 tammi 24 14:25 pts
 brw-rw----  1 root disk        1,   0 tammi 24 14:25 ram0
 brw-rw----  1 root disk        1,   1 tammi 24 14:25 ram1
@@ -220,7 +219,6 @@ crw-rw----  1 root dialout     4,  73 ta
 crw-------  1 root root       10, 239 tammi 24 14:25 uhid
 crw-------  1 root root       10, 223 tammi 24 14:25 uinput
 crw-rw-rw-  1 root root        1,   9 tammi 24 14:25 urandom
-drwxr-xr-x  2 root root            60 tammi 24 16:54 usb
 crw-------  1 root root       10, 240 tammi 24 14:25 userio
 crw-------  1 root root       10,  55 tammi 24 14:26 vboxdrv
 crw-------  1 root root       10,  54 tammi 24 14:26 vboxdrvu

Elikkä käyttiksen löytämät ajurit ovat usb ja hidraw

Pitäisikö tuohon räpeltää joitain udev-sääntöjä, jotta saisi sen toimimaan tty-laitteena ?
Jos niin, kuinkahan ne voisivat mennä ?

Näyttäisi arduino-kehitysympäristö vaativan tty-laitetta.


Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Vs: Kuinka Arduino ohjelmointilaite toimimaan ?
« Vastaus #1 : 24.01.17 - klo:19.07 »
Sen pitäisi kyllä näkyä sarjaporttina eikä HID-laitteena. Mikä Arduino (tai klooni)? Jos siinä on USB mikrokontrollerissa (Leonardo tai Micro), niin se voi olla ohjelmoitu esittämään vaikka näppäimistöä. Silloinkin resettiä painamalla sen pitäisi näyttäytyä hetken aikaa sarjaporttina ja silloin sen voi ohjelmoida. Jos se taas on Uno, niin siinä on mahdollista ohjelmoida se USB-piiri (mikrokontrolleri sekin) uudestaan toiseksi laitteeksi, mutta sen ohjelmoiminen takaisin voi olla vaikeampi homma (saattaa vaatia ohjelmointilaitteen).

Muokkaus: Tämä ei ole olennaista aiheen kannalta. Minun mokani.
« Viimeksi muokattu: 24.01.17 - klo:19.41 kirjoittanut Tomin »
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

kamara

  • Käyttäjä
  • Viestejä: 3031
    • Profiili
Vs: Kuinka Arduino ohjelmointilaite toimimaan ?
« Vastaus #2 : 24.01.17 - klo:19.22 »
Sen pitäisi kyllä näkyä sarjaporttina eikä HID-laitteena. Mikä Arduino (tai klooni)? Jos siinä on USB mikrokontrollerissa (Leonardo tai Micro), niin se voi olla ohjelmoitu esittämään vaikka näppäimistöä. Silloinkin resettiä painamalla sen pitäisi näyttäytyä hetken aikaa sarjaporttina ja silloin sen voi ohjelmoida. Jos se taas on Uno, niin siinä on mahdollista ohjelmoida se USB-piiri (mikrokontrolleri sekin) uudestaan toiseksi laitteeksi, mutta sen ohjelmoiminen takaisin voi olla vaikeampi homma (saattaa vaatia ohjelmointilaitteen).

Kyseessä ei ole Arduino uno tai vastaava, vaikka ilmeisestikin sisuskaluissa löytyy armel. Resettiä ei laitteesta löydy.  :P

http://www.miniinthebox.com/fi/usb-2-0-isp-asp-ohjelmoija-lataa-sovitin-arduino-toimii-virallinen-arduino-boards_p1141447.html?prm=2.5.1.1

Yritän ohjelmoida tällä ddoino Nanoa, jossa ei käsittääkseni ole ladattua bootloaderia. (Se näkyy itsenäisenä tty:nä, mutten siihen ole pystynyt ohjelmoimaan suoraan.)

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Vs: Kuinka Arduino ohjelmointilaite toimimaan ?
« Vastaus #3 : 24.01.17 - klo:19.39 »
Sen pitäisi kyllä näkyä sarjaporttina eikä HID-laitteena. Mikä Arduino (tai klooni)? Jos siinä on USB mikrokontrollerissa (Leonardo tai Micro), niin se voi olla ohjelmoitu esittämään vaikka näppäimistöä. Silloinkin resettiä painamalla sen pitäisi näyttäytyä hetken aikaa sarjaporttina ja silloin sen voi ohjelmoida. Jos se taas on Uno, niin siinä on mahdollista ohjelmoida se USB-piiri (mikrokontrolleri sekin) uudestaan toiseksi laitteeksi, mutta sen ohjelmoiminen takaisin voi olla vaikeampi homma (saattaa vaatia ohjelmointilaitteen).

Kyseessä ei ole Arduino uno tai vastaava, vaikka ilmeisestikin sisuskaluissa löytyy armel. Resettiä ei laitteesta löydy.  :P

http://www.miniinthebox.com/fi/usb-2-0-isp-asp-ohjelmoija-lataa-sovitin-arduino-toimii-virallinen-arduino-boards_p1141447.html?prm=2.5.1.1

Yritän ohjelmoida tällä ddoino Nanoa, jossa ei käsittääkseni ole ladattua bootloaderia. (Se näkyy itsenäisenä tty:nä, mutten siihen ole pystynyt ohjelmoimaan suoraan.)

Ah, minun mokani. Kyse oli siis ohjelmointilaitteesta eikä Arduinosta (otsikossa lukeekin). Ne voivat kyllä joskus toimia ihan HID-laitteenakin, vaikka se vähän hassulta tuntuukin ja silloin porttia ei tarvitse määritellä. Pitäisi vain tietää minkä tyyppinen laite nyt on kyseessä ja se tosiaan valitaan Tools / Programmer ja oma ohjelmointilaitteeni on USBtinyISP, mutta tälle se ei välttämättä ole oikea valinta. Kun ohjelmointilaite ja Arduinon tyyppi on valittu oikein, niin ohjelmoinnin pitäisi onnistua klikkaamalla Tools / Burn Bootloader. Tämän toki varmastikin olet itsekin jo selvittänyt.
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

nm

  • Käyttäjä
  • Viestejä: 16428
    • Profiili
Vs: Kuinka Arduino ohjelmointilaite toimimaan ?
« Vastaus #4 : 24.01.17 - klo:19.52 »
Kyseinen "Kiinaihme" ohjelmointilaite näkyy linuxissa:
Koodia: [Valitse]
lsusb
...
Bus 003 Device 002: ID 03eb:c8b4 Atmel Corp.

Voi olla aika vaikea tapaus Linuxissa:

http://www.avrfreaks.net/forum/usbasp-not-working-can-it-be-fixed
http://wiki.efihacks.com/index.php?title=USBasp_Experiences

Täällä vinkkejä konfigurointiin, jos kuitenkin haluat yrittää:
http://forum.arduino.cc/index.php?topic=212648.0

Pitäisikö tuohon räpeltää joitain udev-sääntöjä, jotta saisi sen toimimaan tty-laitteena ?
Jos niin, kuinkahan ne voisivat mennä ?

Näyttäisi arduino-kehitysympäristö vaativan tty-laitetta.

Kuten todettu, ohjelmointilaitteen tyyppi valitaan Tools -> Programmer -valikon kautta, ja ne eivät kaikki toimi sarjaporttilaitteina. Vaihtoehtoisesti saman voi tehdä komentorivillä avrdude-ohjelmalla. Jos sinulla siis olisi oikeasti yhteensopiva USBASP-ohjelmointilaite, sitä käytettäisiin tähän tapaan: http://www.freetronics.com.au/pages/usbasp-icsp-programmer-quickstart-guide

Mikäli omistat toisen Arduinon, voit tehdä siitä AVR-ISP:n: https://www.arduino.cc/en/Tutorial/ArduinoISP

Yritän ohjelmoida tällä ddoino Nanoa, jossa ei käsittääkseni ole ladattua bootloaderia. (Se näkyy itsenäisenä tty:nä, mutten siihen ole pystynyt ohjelmoimaan suoraan.)

Alun perin siinä kyllä pitäisi olla bootloader. Oletko varmistanut, että Arduino IDE:ssä on valittuna oikea Arduino-board ja mikrokontrolleri? Mitä se herjaa siirron epäonnistuessa?

Toki on mahdollista, että bootloader on rikki, jolloin ohjelmointilaite on tosiaan ainoa pelastusmahdollisuus.