Vraag:
1-draads apparaat (en) emuleren
RSM
2015-03-13 02:39:50 UTC
view on stackexchange narkive permalink

Wat ik wil doen is ervoor zorgen dat een ATTiny IC een slaaf wordt op de 1-draads bus, met zijn eigen S / N en commandolijst voor zijn specifieke functies.

Wat ik wil weten is of ik de one-wire-bibliotheek van de arduino-site kan gebruiken om gegevens als slaaf te verzenden.

U kunt bijvoorbeeld een slaaf in een kamer hebben met meerdere soorten sensoren die de gevraagde informatie aan de master rapporteren, of de master kan hem vertellen iets als jaloezieën te bedienen.

Vraag Moet ik de buslijn bewaken en reageren op een verzoek van de master en ook rekening houden met de manier waarop een normale sensor gegevens zou verzenden? Op welke frequentie moet ik de slaaf laten draaien om de beste functionaliteit te krijgen?

Ik zal geen parasitaire kracht gebruiken, als een opmerking.

http://forum.arduino.cc/index.php?PHPSESSID=trj6v208snqfutqhrfltnu0364&topic=65706.0
@Gerben - Ik had dat eerder gevonden tijdens een zoekopdracht. Er doorheen geslagen. Maar ik maakte me zorgen omdat er enkele fouten waren, hoewel ze zijn opgelost, ik weet de betrouwbaarheid niet. Ook het zoeken naar ontwerpen van vijanden met aangepaste slaven leek niet gebruikelijk, vandaar de bovenstaande vraag.
Het lijkt erop dat de bibliotheek het ondersteunt. [Hier is een bibliotheek speciaal voor] (http://forum.pjrc.com/threads/23939-Strange-behavior-on-the-Onewireslave-library?p=33608&viewfull=1#post33608) denk ik. De snelheid lijkt rond de 15 kbps te liggen. Ik denk dat de CPU-snelheid er niet echt toe doet, maar dat hangt af van de bibliotheek. Als het geen batterijvoeding heeft, voer het dan gewoon uit op 8 mhz of 16 mhz, en het zou goed moeten zijn.
@Gerben Ik zal de bibliotheek testen om te zien hoe deze werkt. Een ding dat ik nog steeds niet begrijp, is waarom het zo ongebruikelijk is dat sommige dingen de slaaf met één draad niet gebruiken?
@RSM U moet deze bibliotheek controleren https://github.com/MarkusLange/OneWireSlave
@Ryu_hayabusa zou je dat als antwoord moeten stellen
Een antwoord:
youen
2015-08-09 13:26:24 UTC
view on stackexchange narkive permalink

Voor zover ik weet, staat de 1-draads bibliotheek die je in je vraag hebt gekoppeld alleen toe om als master te fungeren, niet als slaaf.

Ik heb zojuist een bibliotheek vrijgegeven om een ​​Arduino-bord te draaien in een 1-draads slave, hier: https://github.com/neuoy/OneWireArduinoSlave (bewerken: hierheen verplaatst https: //gitea.youb. fr / youen / OneWireArduinoSlave). Ik gebruik het in mijn op maat gemaakte domoticasysteem, en het werkt perfect in mijn opstelling (de 1-draads master, een DS9490R, is via USB verbonden met een laptop en levert ook stroom aan de Arduino, een Arduino Uno). De bibliotheek verwerkt details op laag niveau: match rom, byte verzenden en ontvangen (wat eigenlijk vrij moeilijk is om goed te krijgen, meestal onmogelijk zonder een logic analyzer). De rest is aan jou.

Het is volledig geïmplementeerd met interrupts, alle communicatie wordt op de achtergrond uitgevoerd, je kunt zoals gewoonlijk andere code uitvoeren, parallel, en wordt gewaarschuwd door callbacks wanneer bytes worden ontvangen, enz. Verzenden bytes naar de master is ook asynchroon.

Ik weet ook dat er ten minste één andere bibliotheek bestaat, https://github.com/MarkusLange/OneWireSlave, zoals hierboven opgemerkt door Ryu_hayabusa. Het werkte niet voor mij (weet niet of het komt door mijn hardware setup of om een ​​andere reden), maar het werkt zeker voor anderen, dus ook het proberen waard. Het lijkt erop dat deze bibliotheek niet is geïmplementeerd met interrupts, dus uw programma wordt geblokkeerd tijdens het wachten op masteractiviteit (wat in veel scenario's volkomen acceptabel is).

De repository lijkt te zijn verplaatst naar https://gitea.youb.fr/youen/OneWireArduinoSlave
@JonasBerlin Inderdaad, ik heb de repository verplaatst (zojuist het antwoord bewerkt om dat weer te geven). Ik laat de oude link achter als back-up voor het geval dat, en als referentie om andere mensen te vinden op GitHub.
Moeten de problemen misschien worden gekopieerd?


Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 3.0-licentie waaronder het wordt gedistribueerd.
Loading...