Arduino a vzdálená aktualizace programu
Moderátor: Moderátoři
Arduino a vzdálená aktualizace programu
Ahoj,
už dlouhou dobu si hraju s myšlenkou postavit si systém na řízení ohřevu teplé vody za pomoci Arduina.
Problém je, že k arduinu bude poměrně špatný přístup a tak mě napadlo, zda je nějaká možnost jak aktualizovat firmware pomocí ethernet shieldu.
Jediný postup co mě zatím napadl, je ten, že v arduinu by byl nahrán program, který by četl nejnovější verzi programu z SD karty a když by byl požadavek na aktualizaci firmware, tak jenom přepsat obsah SD.
Ovšem nevím, jestli Arduino umí s textem z SD karty zacházet tak, aby četl text jako program a podle toho se chovat.
Děkuji všem za jakýkoliv nápad.
už dlouhou dobu si hraju s myšlenkou postavit si systém na řízení ohřevu teplé vody za pomoci Arduina.
Problém je, že k arduinu bude poměrně špatný přístup a tak mě napadlo, zda je nějaká možnost jak aktualizovat firmware pomocí ethernet shieldu.
Jediný postup co mě zatím napadl, je ten, že v arduinu by byl nahrán program, který by četl nejnovější verzi programu z SD karty a když by byl požadavek na aktualizaci firmware, tak jenom přepsat obsah SD.
Ovšem nevím, jestli Arduino umí s textem z SD karty zacházet tak, aby četl text jako program a podle toho se chovat.
Děkuji všem za jakýkoliv nápad.
- monterjirka
- Příspěvky: 2761
- Registrován: 14 čer 2003, 02:00
- Bydliště: Blížejov
Nějak si to neumím představit.
Arduino je postaveno na procesoru jisté koncepce, kde je program v paměti procesoru. Ten procesor již s principu své koncepce nedokáže číst jednotlivé příkazy z externího paměťového média.
To je tak daleko, že by nešlo nechat tam viset USB kabel a při změně přijít s notebookem?
Arduino je postaveno na procesoru jisté koncepce, kde je program v paměti procesoru. Ten procesor již s principu své koncepce nedokáže číst jednotlivé příkazy z externího paměťového média.
To je tak daleko, že by nešlo nechat tam viset USB kabel a při změně přijít s notebookem?
Problém je ten, že to máme trochu blbě udělaný. Do kotelny máme vstup přes sousedovu zahradu, a ten dědek je strašnej blbec. Hold, práce s lidma je strašně těžká...monterjirka píše:Nějak si to neumím představit.
Arduino je postaveno na procesoru jisté koncepce, kde je program v paměti procesoru. Ten procesor již s principu své koncepce nedokáže číst jednotlivé příkazy z externího paměťového média.
To je tak daleko, že by nešlo nechat tam viset USB kabel a při změně přijít s notebookem?
A toto se dělá jak? Jde případně předělat bootloader od Arduina, nebo si musím naprogramovat nějakej sám?lesana87 píše:AVR sice neumí spouštět kód z externí paměti, ale umí si přepsat FLASHku. Takže by do něj šel naprogramovat bootloader, který v případě potřeby natáhne novou verzi sw z SD karty a naprogramuje ji do FLASH.
A jak přepíšeš tu SD kartu, když je problém se tam dostat?666mb píše:Problém je ten, že to máme trochu blbě udělaný. Do kotelny máme vstup přes sousedovu zahradu, a ten dědek je strašnej blbec. Hold, práce s lidma je strašně těžká...
Tady už to někdo zjevně řešil: https://github.com/thseiler/embedded/tr ... avr/2boots666mb píše:A toto se dělá jak? Jde případně předělat bootloader od Arduina, nebo si musím naprogramovat nějakej sám?
Skvělý, moc děkuju, asi neumím hledatlesana87 píše:A jak přepíšeš tu SD kartu, když je problém se tam dostat?666mb píše:Problém je ten, že to máme trochu blbě udělaný. Do kotelny máme vstup přes sousedovu zahradu, a ten dědek je strašnej blbec. Hold, práce s lidma je strašně těžká...
Tady už to někdo zjevně řešil: https://github.com/thseiler/embedded/tr ... avr/2boots666mb píše:A toto se dělá jak? Jde případně předělat bootloader od Arduina, nebo si musím naprogramovat nějakej sám?
SD kartu byl chtěl zkusit nějako přepisovat přes ethernet shield. Teoreticky bych pomocí proto shieldu mohl připojit na arduino další procesor, který by se vyloženě staral jenom o aktualizaci SD karty.
Arduino má predsa usb bootloader (teda vieš do neho nahodiť program cez usb port, ktorý má na doske). A vravíš, že sieť tam bude. Nedalo by sa pomocou nejakého prevodníka (napr.: http://pc.itek.cz/lan-adaptery-usb/X998 ... ax-EU-4208) napojiť priamo na Arduino a aktualizovať software po sieti?
EDIT: myslel som priamo do procesora bez použitia nejakej karty a pod.....
EDIT: myslel som priamo do procesora bez použitia nejakej karty a pod.....
kdysi jsem narazil na tenhle nápad požít Xbee:
http://www.faludi.com/itp_coursework/me ... eless.html
http://www.faludi.com/itp_coursework/me ... eless.html
Standardní arduino bootloader se "aktivuje" při restartu Atmelu, buď tlačítkem, a/nebo pinem z převodníku rs232 nebo z převodníku usb. Záleží na druhu desky. Konkrétně u Arduino Mega 2560 mám vyzkoušené, že není třeba mačkat reset tlačítko na desce, o restart se postará převodník atmega8U2.
Jak se psalo výše převodník Ethernet/usb by to mohl zvládnout.
Jak se psalo výše převodník Ethernet/usb by to mohl zvládnout.
Zdravím já to vidím řešit ve dvou krocích.
1. krok :Pomocí RS232 eventuelně RS432 řidit celej proces z PC
---napojení na kotelnu přes procesor zpracující povely z COMx a napojený na kotel přes HW procsoru .
2. Krok : pomocí odladěného programu v PC naprogramovat
procesor napevno . Bez potřeby posílati povely z PC. Autonomní provoz.
-----
pokud napojení z PC je již provedeno dle kroku 1.využit tuto skutečnost
a PC program doplniti o monitorovací proces v PC i diskrétní v čase
načtením dat z paměti procesoru apd.
......
Problém Arduina je zcela druhořadý ...toto lze řešit libovolným procesorem s UARTEM a se znalostmi programování
jak PC tak mikroprocesoru na nezačatečnické úrovni .
.....
dalši info třeba na SZ
.....
1. krok :Pomocí RS232 eventuelně RS432 řidit celej proces z PC
---napojení na kotelnu přes procesor zpracující povely z COMx a napojený na kotel přes HW procsoru .
2. Krok : pomocí odladěného programu v PC naprogramovat
procesor napevno . Bez potřeby posílati povely z PC. Autonomní provoz.
-----
pokud napojení z PC je již provedeno dle kroku 1.využit tuto skutečnost
a PC program doplniti o monitorovací proces v PC i diskrétní v čase
načtením dat z paměti procesoru apd.
......
Problém Arduina je zcela druhořadý ...toto lze řešit libovolným procesorem s UARTEM a se znalostmi programování
jak PC tak mikroprocesoru na nezačatečnické úrovni .
.....
dalši info třeba na SZ
.....