Sledování záznamu kamery Wanscam z PC
Po ukončení podpory Adobe Flash Player je možné vysílání kamery sledovat přes RTSP protokol.
Nahrávání programu do Arduina je na první pohled velmi triviální věc. Stačí vývojovou desku připojit do USB portu PC, vybrat správnou desku a COM port. Ve většině případů tyto úkony stačí k tomu, aby software vývojovou desku ovládl. Mohou ovšem nastat případy, kdy tyto jednoduché kroky nestačí a Arduino se s námi odmítá bavit. Takový problém může potkat úplné začátečníky, ale i ostřílené bastlíře. Základní kroky nahrávání programu (naleznete zde) v tomto článku vynecháme a zaměříme se především na možné potíže a jejich řešení.
Poznámka: Pokud nepoužíváte Arduino Uno, koukněte také na odstavec Poznámky k vybraným typům vývojových kitů.
Pokud chceme nahrávat program do Arduina pomocí USB, bez ovladačů to nepůjde. Základní Arduino desky jsou osazeny USB konektorem, pro snadné nahrávání programů. Komunikaci mezi PC a samotnou deskou zajišťuje integrovaný obvod USB TTL, který je „za” USB konektorem Arduina. Aby počítač věděl jak s tímto obvodem komunikovat, potřebuje k tomu vhodný ovladač.
Výhodou originálních kitů a jejich přesných kopií je absence nutnosti (samostatné) instalace ovladačů. Pokud si nainstalujeme vývojové prostředí Arduino IDE (platí to i pro jiná IDE), podpora originálního hardwaru se nainstaluje automaticky s prostředím. Desku poté stačí pouze připojit k USB portu PC a bude ji přidělen potřebný COM port.
U ostatních Arduino desek je nutné nainstalovat vhodný ovladač. Většinou se jedná o ovladač k čipu CH340 nebo CP2102.
Převodník CH340 je v levných klonech nejrozšířenější integrovaný obvod pro převod USB komunikace na komunikaci UART. Tento převodník můžete najít na deskách Nano, Uno i Mega a v jejich dalších odnožích. Ovladače můžete stáhnout zde nebo v příloze článku.
Tento čip nalezneme např. u některých desek Wemos a ESP. Ovladače se v systému WIN10 nainstalují automaticky, můžete si je ale také stáhnout zde.
Toto je asi jeden z nejzákeřnějších problému zejména pro nezkušené uživatele Arduina. Bez zavaděče zkrátka nelze přes USB do Arduina nic nahrát, jelikož mikroprocesor Arduina zkrátka neví, co s příchozími daty dělat. Většina Arduino desek je dodávána již s vypáleným bootloaderem, čas od času se ale může stát, že narazíme na desku, která jej vypálený do paměti nemá. Bootloader slouží právě k zavedení programu do FLASH paměti Arduina přes UART rozhraní. Pokud bootloader chybí, Arduino je němé a je ochotno si povídat pouze s SPI sběrnicí (programátory).
Nezkušený uživatel má tu nevýhodu, že vůbec nemusí poznat, že se jedná o problém absence bootloaderu. Do desky zkrátka nejde nic nahrát, na uživatele vyskočí zdánlivě nic neříkající hláška a hotovo. Jde to samozřejmě vyřešit vypálením zavaděče pomocí oněch ISP nebo USBasp programátorů. Arduino IDE navíc vypalování zavaděčů přimo podporuje. Nevýhodou ovšem je, že takový programátor musíme mít doma/v dílně. Vypálit zavaděč lze i pomocí druhého Arduina, ale to už je pro nezkušeného bastlíře pěkná divočina.
Pokud ovšem programátor máme, můžeme se do vypalování pustit. V Arduino IDE stačí pouze vybrat desku, do jaké chceme bootloader vypálit a programátor, který to všechno provede. Poté jen zvolíme možnost vypálit zavaděč.
Zkuste přepnout nastavení mikroprocesoru (Nástroje→Procesor) z ATMEGA328P na ATMEGA328P (Old bootloader) nebo naopak.
Tento vývojový kit neobsahuje USB-TTL převodník a je tedy nutné použít externí převodník/programátor.
Pokud externí převodník neobsahuje pin DTR, je nutné držet tlačítko reset na vývojovém kitu během kompilace/ověřování programu (před nahráváním).
Více informací se dočtete v odstavci Arduina bez USB TTL převodníku.
Při nahrávání programu držte stisknuté tlačítko BOOT.
Další sortou jsou desky, které jsou určeny spíše pro pokročilé uživatele a zároveň míří na tu úplně nejnižší cenovou hladinu. Výrobce takovýchto desek se snaží srazit náklady na výrobu tak, že zkrátka odstraní všechny součástky, které nejsou pro funkci desky stěžejní. Mezi takové komponenty se řadí i USB TTL převodník. Když se nad tím zamyslíme, je to celkem logické. Představme si, že máme napsaný software pro zařízení, které má fungovat roky bez další lidského zásahu. Pokud je software dobře odladěný, víme, že jej do desky nahrajete pouze jednou, maximálně dvakrát za životní cyklus. V takovém případě je USB TTL převodník přímo na desce zbytečný a pouze navyšuje cenu hardwaru, který by fungoval stejně i bez převodníku. Jak ovšem nahrát software do desek bez USB konektoru?
Poznámka: Některé desky mohou mít USB konektor pouze pro napájení nikoliv programování.
V nabídce našeho obchodu můžeme najít hned několik druhů externích USB TTL převodníků (např. 1449940303 nebo 1502167659), jež nám pomohou výše zmíněný problém vyřešit. Výhodou využití tohoto přístupu programování Arduino desek je, že následný postup v Arduino IDE je stejný jako v případě desek s USB TTL převodníkem. Stačí pouze vybrat přidělený COM port a typ desky, kterou programujeme.
Aby mohlo programování proběhnout správně, musíme si uvědomit několik věcí:
Zpravidla je nutné pro různé typy převodníků nainstalovat vhodné ovladače.
V Arduinu musí být nahrán bootloader (zavaděč).
Převodníky komunikují s Arduinem přes UART rozhraní.
Piny RX, TX převodníku a Arduina musí být zapojeny křížem.
Pokud převodník nemá DTR výstup, je nutné při každém nahrávání Arduino manuálně resetovat (tlačítkem).
Pokud převodník disponuje DTR výstupem, připojíme ho k RESET pinu Arduina (při nahrávání bude reset vyvolán automaticky).
Programátory jsou určeny především pro pokročilejší uživatele. Jejich použití má totiž své výhody, ale i pár nevýhod.
Výhody:
V Arduinu nemusí být nahrán bootloader – více dostupné FLASH paměti.
Komunikace přes SPI rozhraní – hardwarová sériová linka je uvolněna pro potřeby programátora.
Snadné zapojení – ICSP konektor na desce Arduina.
Rychlost nahrávání, nižší pravděpodobnost selhání nahrávání.
Reset desky probíhá automaticky.
Nevýhody:
Nutnost instalace ovladačů (platí pouze pro USBasp).
Ztráta komunikace se sériovým terminálem na PC.
Desku lze snadno zničit pokud je programátor na ICSP konektor zapojen obráceně.
Nyní pár slov k samotným programátorům. Programátor ISP je hardware vyvinutý přímo společností Atmel pro programování Atmel AVR mikroprocesorů. Arduino je na bázi těchto mikroprocesorů postaveno. Naopak USBasp programátor je open-source projekt s vlastním hardwarem a softwarem. Ve své podstatě je jedno jaký programátor použijeme (oba jsou podporovány v Arduino IDE). Ve prospěch USBasp je ovšem nižší pořizovací cena.
Doufáme, že byly pro vás tyto řádky nápomocné a pomohly vám vyřešit potíže, které mohou během nahrávání programu nastat. Uvidíme se u dalších blogů :-).
Po ukončení podpory Adobe Flash Player je možné vysílání kamery sledovat přes RTSP protokol.
Vývojová deska ESP-01 zaujme především svými rozměry. Nezkušení bastlíři si ovšem na ni mohou vylámat zuby.