Alternatief voor de Arduino Yún ?

Hardware geleverd door Arduino
Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Alternatief voor de Arduino Yún ?

Berichtdoor Koepel » 08 Jan 2017, 02:16

Wat is een goed alternatief voor de Arduino Yún ?
Graag wil ik een linux systeem met wifi, waar ik zonder problemen USB-audio en USB geheugenstickjes op kan aansluiten. Bij voorkeur iets dat heel weinig stroom nodig heeft en gemakkelijk te combineren met sensoren en Arduino libraries. Het moet ook nog betrouwbaar zijn en waar nog vele jaren support voor is.
De audio is belangrijk, omdat ik het ook als webradio wil kunnen gebruiken.

De Arduino Yún heeft OpenWRT linux. Dat heeft veel mogelijkheden, dus OpenWRT heeft mijn voorkeur.
Bij de Yún is de "Bridge" tussen de ATmega32U4 en het linux deel is een ramp. Het linux deel draait op 400MHz, dat is snel genoeg. Er draait echter een Python script dat de cpu tijd opslurpt zodra ATmega32U4 de "Bridge" gebruikt.

De Arduino Tian kost 100 euro: https://www.kiwi-electronics.nl/arduino-tian. Dat is te duur om even te proberen.
De Orange Pi kost 10 euro, maar ik betwijfel de betrouwbaarheid en het stroomverbruik.
De Raspberry Pi is wel betrouwbaar, maar graag had ik iets kleiners dat minder stroom verbruikt en dan moet ik alsnog zelf aan de slag om de communicatie met sensoren via een Arduino te regelen.

Advertisement

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Alternatief voor de Arduino Yún ?

Berichtdoor Koepel » 12 Jan 2017, 23:32

Voor wie hier in geïnteresseerd is: ik ga toch nog even verder met de Arduino Yún.
Het blijkt belangrijk te zijn, om de "Bridge" zo weinig mogelijk te gebruiken, en vooral de Bridge niet te pollen op gegevens, en zo weinig mogelijk extra include files te doen. Ik heb natuurlijk de #include <Bridge.h>, waarmee ik een commando in OpenWRT kan geven via runShellCommand() en runShellCommandAsynchronously(). Verder heb ik op dit moment nog "FileIO.h". Dus geen YunServer.h, geen YunClient.h, geen Console.h, geen HttpClient.h, geen Mailbox.h.

Het doorgeven van gegevens doe ik iedere seconde met Bridge.put(). Aan de andere kant van de Bridge (in OpenWRT) haal ik dat iedere seconde op in een webpagina als json. Dat is best snel, en dat werkt.

Verder stuur ik nog eens per 5 minuten gegevens vanaf de ATmega32U4. Die gegevens wil ik in een (b)ash script in OpenWRT gebruiken. Daarvoor gebruik ik een runShellCommandAsynchronously() die heel simpel met 'echo' een paar parameters naar een bestand schrijft. Via een cron job in OpenWRT lees ik eens per 5 minuten dat bestand met awk en stuur het met curl door naar ThingSpeak.

Dit lijkt omslachtig, maar het werkt. Ik probeer dus om het trage Python te vermijden.
Ik heb een paar webpagina's gemaakt, die ik als cgi aanroep. Met (b)ash is heel snel, met lua is snel, en met Python is traag.

Hieronder zie je dat het stroomverbruik ongeveer 160mA is van de 12V, dat is vóór mijn DC-DC converter die 5V maakt. De cpu load is rond de 20%. Dat is gelukkig heel acceptabel. De pieken in de grafiek is wanneer ik bezig was.
Bijlagen
stroom.png
stroom van de 12V
stroom.png (17.83 KiB) 1906 keer bekeken
cpu.png
cpu load
cpu.png (14.71 KiB) 1906 keer bekeken

Terug naar Arduino hardware

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 13 gasten