RPi2 BugFix: KaKu Lampen

Door mouse86 op zaterdag 7 februari 2015 22:33 - Reacties (8)
Categorie: -, Views: 9.094

Met de nieuwe RPI 2 was het (nog) niet mogelijk om de tutorial van tweaker WeetJeWel te gebruiken waarmee je de lampen in je huis via de RPI kan schakelen. Ik ben even in de code gedoken om te kijken of ik het kon oplossen en dat is gelukt :Y) . Voor de oplossing; scroll naar einde van deze post...

Probleem
Het probleem ligt hem erin dat de micro seconden delay functie niet goed werkt op de RPI2. Wanneer je 190 microseconden delay wilt (=190uS), krijg je 19 milli seconden (=19mS). Zie afbeelding hieronder:
http://img.ctrlv.in/img/15/02/07/54d686c4a0f73.png

Door deze fout is de transmit timing van de transmitter ongeldig geworden voor de ontvangers. Na de aanpassing in de code is de timing weer correct, zie afbeelding hieronder:
http://img.ctrlv.in/img/15/02/07/54d6864adcbf1.png

De aanpassing is mogelijk gemaakt door de code van WeetJeWel aan te passen. Ik heb de delay routines vervangen voor hardcoded delay routines. Waarschijnlijk minder efficiënt omdat het blocking delays zullen zijn, maar het werkt wel weer :).

Oplossing

Omdat ik geen kopieermachine wil zijn van de tutorial van WeetJeWel plaats ik hier alleen hetgene wat je anders moet doen in zijn tutorial. De rest blijft hetzelfde.

Bij stap 3 van WeetJeWel moet je voor de RPI 2 dit

code:
1
wget -O lights.zip https://www.dropbox.com/s/nxdrkuk94w9fpqo/lights.zip?dl=1


vervangen voor

code:
1
wget -O lights.zip https://www.dropbox.com/s/f7yh3dig68rtaws/20150702V1-lights.zip?dl=0



Overigens werkt bovenstaande ook voor de "oudere" Rpi's. Ik heb het getest op Action ontvangst modulen. Willen jullie laten weten of het bij jullie ook werkt?

En ik ga nú slapen want heb nu al veels te lang met de RPI zitten spelen :O :9~

edit 2017-09-12

Blijkbaar werkte de dropbox link niet meer, geupdate. zou nu weer moeten werken!

Volgende: Sonos PLAY:1 mods 03-'15 Sonos PLAY:1 mods
Volgende: Drukke dagen 12-'14 Drukke dagen

Reacties


Door Tweakers user Raven, zondag 8 februari 2015 10:03

"Het probleem ligt hem erin dat de micro seconden delay functie niet goed werkt op de RPI2."

Enig idee waardoor dat komt? (Ontwerp)foutje in de hardware of is dit een softwarefout? :S

[Reactie gewijzigd op zondag 8 februari 2015 10:14]



Door Tweakers user mouse86, zondag 8 februari 2015 12:50

Raven schreef op zondag 08 februari 2015 @ 10:03:
"Het probleem ligt hem erin dat de micro seconden delay functie niet goed werkt op de RPI2."

Enig idee waardoor dat komt? (Ontwerp)foutje in de hardware of is dit een softwarefout? :S
Deze delay functie is onderdeel van de WiringPi library. De maker van WiringPi geeft aan dat voor delays groter dan 100uS hij een library gebruikt van het OS (linux, Wheezy).

Er gaat dus iets mis tussen WiringPi en het OS. Het valt wel op dat de vertraging precies een factor 100x groter is. Het kan een programmeerfout zijn of omdat de nieuwe Linux hardware multicore is / andere processor heeft en dat daardoor de timing routines voor deze nauwkeurigheid niet meer correct werken.

Als je dit echt zou willen oplossen, zou je in de wiringpi library moeten beginnen door te kijken welke OS call er gebruikt wordt voor de microsecond delay :).
Ik wil binnenkort een video maken hoe je dit zo simpel mogelijk verwezenlijkt op een rpi2. Vind je goed als ik jouw source hiervoor hergebruik? :)

Door Tweakers user Stijn.Johan, zondag 8 februari 2015 13:40

hallo,

help!
heeft iemand voor mij een werkende image met de webinterface software ook erop? heb het hard nodig voor school en de handleiding werkt niet! ik heb een elro wat wel werkt met een command intypen(./elro 1 A on) op de raspberry zelf, maar als ik de webinterface wil gaan gebruiken gebeurt er niks. ik heb de raspberry B+ en de 2 B. als iemand een werkende image heeft, stuur dan een mailtje naar stijntjuh@outlook.com

alvast bedankt!

Door Tweakers user justVR, zondag 8 februari 2015 14:15

Fantastische oplossing! dank!

Door Tweakers user mouse86, zondag 8 februari 2015 14:24

Stijn.Johan schreef op zondag 08 februari 2015 @ 13:40:
hallo,

help!
heeft iemand voor mij een werkende image met de webinterface software ook erop? heb het hard nodig voor school en de handleiding werkt niet! ik heb een elro wat wel werkt met een command intypen(./elro 1 A on) op de raspberry zelf, maar als ik de webinterface wil gaan gebruiken gebeurt er niks. ik heb de raspberry B+ en de 2 B. als iemand een werkende image heeft, stuur dan een mailtje naar stijntjuh@outlook.com

alvast bedankt!
Een werkende image is al gauw 4gb :p die stuur je niet ff per mail...

Volg de tutorial van WeeJeWel en deze voor de webinterface en je bent binnen 2 uur klaar.

Maybe, just maybe, someone cares.: Lampen schakelen met je smartphone & een Raspberry Pi

Door Tweakers user redbullet, dinsdag 10 februari 2015 11:17

Stijn.Johan schreef op zondag 08 februari 2015 @ 13:40:
hallo,

help!
heeft iemand voor mij een werkende image met de webinterface software ook erop? heb het hard nodig voor school en de handleiding werkt niet! ik heb een elro wat wel werkt met een command intypen(./elro 1 A on) op de raspberry zelf, maar als ik de webinterface wil gaan gebruiken gebeurt er niks. ik heb de raspberry B+ en de 2 B. als iemand een werkende image heeft, stuur dan een mailtje naar stijntjuh@outlook.com

alvast bedankt!
Wauw heb nog nooit iemand gezien die zo simpel zn project wil hebben

Door Tweakers user CurlyMo, woensdag 18 februari 2015 02:46

Je kan ook de pilight gebruiken. Dan heb je ondersteuning voor Raspberry Pi 1 + 2, Hummingboard, BananaPi, een hele zooi ondersteunde apparaten, webGUI, Android apps, eventing enz. Allemaal via pure Raspberry Pi GPIO :)

[Reactie gewijzigd op dinsdag 24 februari 2015 23:21]


Reageren is niet meer mogelijk