Před necelým rokem jsem publikoval článek o
HotSpot - tak trochu jinak a musím přiznat, že jsem nečekal takový ohlas.
Někteří zahraniční čtenáři dokonce neváhali "prohnat" článek překladačem. Od doby publikování článku jsem zjistil, že popsaná sestave s Bluestackem je pro mne nepraktická a to především
kvůli svým omezením ze strany obslužné aplikace - nemožnost vypnout display, velice náchylné na běh jiných aplikací na pozadí a jejich procesorového času. Výsledkem byl trhaný přenos
s množstvím výpadků. Sestava fungovala bezchybně pouze v případě, že jssem použil naprosto čistý, rozuměj prázdný, telefon či tablet a krom operačního systému tam běžela jen BlueDV aplikace.
Jenže to znamenalo mít dedikované jedno zařízení pro hotspot a to není komfortní situace - je to "další krám", který s sebou musí člověk tahat na dovolenou. Bezproblémového chování
šlo dosáhnout použitím jiného počítače, takže nakonec to stejně sklouzlo k osvědčené kombinaci DVmega + RasPI.
Tak vlastně vznikl
"Mobilní hospod", což je samostatné nařízení skvěle plnící svůj účel. Při jeho návrhu byla jedním
z kritérií výdrž na baterie a proto byl kladen důraz na dostatečnou bateriovou kapacitu, se kterou vydrží hospod fungovat 15-27 hodin dle okolností. To je samozřejmě fajn a mnohokráte jsem
tuto výdrž ocenil. Na hospod jsem využil brašnu pro střední objektiv zrcadlovky, kde se krásně vejde i s wifi donglem, modemem a anténkou. Pěkné, přenosné, ale již monohokrát mi to celé
přišlo stéle velké a místy i docela neohrabané. Rodina na vás kouká s podezřením, když ve spěchu při odjezdu na víkend ještě něco prapodivného kutíte na zadním sedadle rodiného vozu
a je tam "zase jakási krabička", kterou nenápadně sledujete ve zpětném zrcátku po každém průjezdu ostřejší zatáčkou.
Jelikož jsem od postavení
"Mobilního hospodu" původní bluetooth hotspot nepoužil a on tak smutně ležel nevyužit,
rozhodl jsem se jej reinkarnovat právě na co nejmenší hotspot, ideálně kapesní. Tento nápad uzrál, když mi dorazilo
Raspberry pi zero W
a já pro něj hledal nejoptimálnější uplatnění. V ten moment jsem si umínil pokusit se vměstnat celý hotspot do původní krabičky, kde byl BlueSpot společně s DVmegou. Vytýčil jsem si tedy
vlastnosti pro nový kapesní hotspot:
- Kapesní provedení - krabička KM 22
- Nabíjení přes mikro USB konektor
- Nepřerušitelné napájení - použití dvou napájecích modulů
- Možnost připojení externího USB zařízení
- Výdrž na baterii alespoň hodinu
- Display signalizující dění
Prvotní rozmístění modulu uvnitř krabičky ukázalo, že cíl je realizovatelný, ale že půjde o desetiny milimentru.
Koncept rozvržení modulů jsem změnil nesčetněkrát, až jsem se pro jeden z nich rozhodl a začal rozmístění rozměřovat a zkoušet. Čelil jsem několika málo nástrahám, ale podařilo se mi je překonat
a pomalu usazovat jeden modul za druhým. Nejdřive jsem vyřízl okénko pro display a vlepil do něj "sklíčko". Pak jsem přilepil matičky 2.5 mm (vždy dvě na sebe - to je optimální výška).
Matičky jsem nejdříve našrouboval na šroub, jehož tělo bylo o malinko kratší než součet louštěk RasPI desky a matiček. Prostě jsem do otvorů v RasPI modulu strčil šroub a ze spodu našrouboval
obě matičky. Pak jsem na spodní z nich opatrně nanesl malé množství sekundového lepidla a usadil celý modul na své místo. Počkal jsem, až lepidlo zaschne a opatrně jsem šrouby vyšrouboval
a modul odstranil. Pak jsem šroub i s jednou matkou opět zašroubil do přilepené matičky (aby navazovaly závity) a nanesl epoxyd. U dvou takto vytvořených úchytů jsem musel část epoydu
odbrousit, aby nezavazel HDMI a USB konektoru modulu. Tím bylo zajištěno, že Raspberry modul bude spolehlivě připevněn ke krabičce a zárověň bude, v případě potřeby, vyměnitelný.
Baterii jsem vybíral podle rozměru a nakonec jsem zvolil
Sanyo 1 800 mAh
z Avacomu. Baterie je přilepena oboustrannou lepící páskou.
Z hlediska napájení jsem zvolil dva moduly. Jeden modul slouží jako nabíjecí a obsahuje též ochrannou elektroninku pro akumulátor. Druhý modul byl původně určen jako powerbanka a zvládal tedy
jak nabíjení baterie, tak i poskytnutí 5V z baterie. K nabíjení tam byl mikro usb konektor, ale já jej odstranil, přestože by použití jednoho modulu bylo jednodušší a prostorově
úspornější, tak při připojení usb nabíječe došlo k přerušení výstupního napětí a hotspot by tak nemohl být provozován s připojeným nabíječem. Proto jsem z tohoto modulu odstranil mikro usb
konektor (aby nepřekážel) a modul použil jen jako napájecí. Proto jsem nakonec zvolil sestavu tak, jak jsem nastínil - nabíjecí modul, baterie, napájecí modul. Baterie spolehlivě
"ukrmí" hotspot po dobu 6 hodin (při použití WiFi). Ve skutečnosti je to něco kolem 6,5 hodiny, což více než bohatě převyšuje vytýčenou hodinu.
Ostatní moduly jsem již lepil dle možností. Stačilo už jen vyříznout potřebné otvory na konektory a vypínač. Vše jsem zalepil, pospojoval a vyzkoušel. Ukázalo se, že bude potřeba ještě
drobného nastavení na straně Raspbianu, neboť seriový port (UART) na Raspberry PI zero W má stejnou "vlastnost" jako u Raspberry PI 3 - tedy že je použit na jinou periférii
a nelze tak komunikovat s DVmegou. Stačí ale udělat dvě úpravy v konfiguračním souboru a po rebootu je již sériový port plně dostupný.
sudo systemctl disable bluetooth.service
Přidat na dva řádky na konec souboru /boot/config.txt:
enable_uart=1
dtoverlay=pi3-disable-bt
sudo reboot
Po rebootu je sériový port dostupný jako /dev/ttyAMA0
Co se týče konektivity a možnosti připojení hotspotu k masteru, tak Raspberry PI zero W má integrovanou WiFi s podporou standardů 802.11 B/G. Jako další možnost je použití externího
USB zařízení, ať už je to opět WiFi nebo LTE modem. K tomu se krásně hodí USB port na napájecím modulu. Stačí jen "nadrátovat" datové vodiče z Raspberry na USB-A konektor na napájecím
modulu a můžeme vesele připojit cokoli až do spotřeby cca 400 mA - napájecí modul zvládne dodat maximálně 600 mA a samotne Raspberry zbaští cca 200 mA.
Popisovat tu znovu celé zprovoznění mi přijde zbytečné, protože vše již bylo popsáno a nemá smysl se opakovat. Časová náročnost se dá odhadnout na cca 10 hodin čisté práce. Nutno přiznat,
že návrh rozmístění modulů a mechanické úpravy zabraly nejvíce času, protože místa uvnitř je skutečně málo a každý krok si člověk musí dobře rozmyslet a v lepším případě i na nečisto
odzkoušet. Každopádně na konci čeká spoustu radosti a to nejenom proto, že si to člověk ubastlil sám, ale i že to funguje :-)
Update - Postřehy z provozu (15.11.2017):
Prostě to funguje. Samozřejmě to má své mouchy. Není to sice nic vážného, jen chyby na kráse, ale přeci jen tam jsou. O co jde. Po "aktivaci" UARTu se vlastně stane to,
že na GPIO piny se namapuje softwarový UART, což sice funguje, ale má to pomalý nájezd. Je pěkně vidět, když je hotspot v IDLE režímu, začnu vysílat na kmitočtu hotspotu -
hotspot zareaguje asi az po vteřině nebo necelých dvou. Na displayi je to pěkně vidět. Když je už ale hotspot "probuzený", tak funguje okamžitě. Toto chování nemá vliv
na funkci jako takovou, ale na to, že krátké pakety jednoduše neprojdou, jelikož nejsou dostatečně dlouhé na to, aby hotspot probudily z IDLE režimu. Krátkými pakety
mám na mysli GPS, SMS, Radio Check, atd...
Update - HW reorganizace (5.12.2017):
HotSpot fungoval dobře, ale jak jsem psal o odstavec výše, tak SW UART měl své limity. Rozhodl jsem se proto použít Raspberry Zero (bez WiFi), neboť to má ještě klasický
HardWarový UART. Sliboval jsem si 100% zachycení všech (především krátkých) packetů. Musel jsem ale osadit externí WiFi, abych měl konektivitu. Takže jsem koupil nějaký
Edimax nano, vykuchal plošňák z "USB konektoru" a připojil ho na USB port Zera. Dle očekávání vše najelo. Tím byl ovšem jediný USB port obsazen, tak jsem objednal
NanoHUB a použil jej pro získání dvou USB portů. Na jeden jsem zapojil WiFi a na druhý externí USB port.
Tady je třeba podotknout, že přímé připájení na kontakty USB konektoru z napájecího modulu se ukázalo jako nevhodné neboť kontakty jsou na plošňáku spojeny a port tak
nefungoval. Musel jsem kontakty nad plošným spojem přerušit a signálové vodiče napájet tam. Pak již bylo vše hotovo a mohl jsem přistoupit k testování.
Výsledek je lepší, ale stále to není ono. Přemýšlel jsem, zda nemuže být na vyně výpočení výkon Zera, ale podrobuji to ještě dále zkoumání.
Původní hotspot s BlueSpotem
Vlepení sklíčka displaye
Přilepení displaye
Zalité matičky ve funkci distačních sloupků
Přišroubené Raspberry PI jen necelý milimetr nad displayem
Osazení nabíjecího a napájecího modulu
Kompletně osazený hotspot s propojkami
První test funkčnosti
Test externího WiFi USB donglu
WiFi dongle po nainstalování
Doosazen USB HUB
USB hub zapojen na WiFi a externi USB port
Hotový komplet
Porovnání velikosti