Arduino 1-wire sniffer (2 / 4 steg)

Steg 2: PC - miniterm (först kontakta)

I Tutorial 214; Med hjälp av en UART att genomföra ett 1-Wire Bus Master beskrivs hur man generera/Hämta 1-wire bussen puls sekvenser. Tyvärr har närvaro & Återställ pulser genereras på 9600 baud medan alla andra (läsa, skriva av 0 och 1) måste skapas med 115200 baud. Som påpekas i App. Obs 74; Läsa och skriva 1-Wire enheter via seriella gränssnitt: "Även om effektiv under operativsystem såsom DOS, moderna operativsystem göra tillgången till UART register ganska ineffektiv" och eftersom vi inte vill använda en DS2480B, vi måste leva med det faktum att en snabb switch av överföringshastigheten vid en kontrollerad buffert är omöjligt.

För det system som jag var detta inte ett problem eftersom jag kunde på ett tillförlitligt sätt upptäcka närvaro & Återställ pulser på en överföringshastigheten 115200 som 0x00 0x00 sekvens. Faktiskt kommer från 9600 till 115200 skulle resultera i 12 byte istället för 1, men i detta fall har vi bara 2 start bits - således 2 byte endast. Även om 0x00 kan vara en skriva 0 - jag såg aldrig värden under 0x80 på bussen och därmed skulle kunna diskriminera mellan skriva 0 och Återställ & närvaro. Vid andra system används (Master & slavar) kunde den exakta tiden och därmed detta faktum ändra.

(Jag använde en OW Server 2 ENET med 1 DS2438 som ett system för dessa tester.)

Att alla sagt, för en första kontakt vi inte har faktiskt att bry sig för mycket, vi måste bara bestämma vad vi vill se och välj sedan rätt överföringshastigheten. Jag använde Python skript miniterm.py som kommer med pySerial modul (Använd mer sistnämnd ändå - gränssnitt Python och Arduino med pySerial är mycket användbar i allmänhet) för att öppna porten och titta på den inkommande trafiken:

$ miniterm.py -D -D -D /dev/ttyACM0 9600
$ miniterm.py -D -D -D /dev/ttyACM0 115200

(Andra portinställningarna är: 8 bitar, ingen paritet, 1 stoppbit vilket är standard i miniterm.)

När vi har en förbindelse som upprättas och se data kommer in, kan vi börja att analysera Bussa trafikerar. Titta på de hexadecimala värden som förekommer (bör vara ca 5 olika värden bara kommer om och om igen), konvertera hex för att lite sekvenser och studera buss tidpunkten, försöker skilja mellan Skriv och Läs operationer, etc.

Om du vill ha en titt på ett mycket skit, tidig och enkel ("proof of concept stat som") skript för att få en uppfattning om hur du fortsätter härifrån, fortsätt sedan till nästa steg.

Se Steg
Relaterade Ämnen

Arduino EL wire controller (ljud aktiverad)

detta projekt konsoliderar arbetar med ljud att utlösa el wire med en Arduino Pro Mini 3.3V med en krets delvis baserat på quasiben's "programmerbara LilyPad EL-Wire klänning." Liknande resultat kan erhållas med hjälp av en av de många ljud akti...

Arduino ledde matrisen klockan

Denna klocka använder fem MAX7219 8 x 8 ledde matriser Visa en klocka.De två vänstra enheterna visar timme, till höger två minuterna, och mellersta matrisen räknar bort sekunderna. Detta sker genom en lysande LED per sekund, räkna på varje rad. 8. ly...

Arduino Time-Lapse Controller

detta projekt som ursprungligen började med några enkla delar kastas tillsammans för att skapa en mycket enkel time-lapse controller för en DSLR-kamera. När jag var nöjd med den första prototypen, ville jag göra en slutlig version som planeringen av...

Arduino Digital kompass projekt

Hej! I detta instructable kommer du se hur du kan göra en Digital kompass med hjälp av en Arduino och bearbetning IDE. Detta är ganska enkla men intressanta och sval sett Arduino projekt.Du kan titta på demo exemplet av denna tutorial på videon ovan....

Arduino labyrint

målet med vårt projekt var till bröd styrelsen enArduino micro controller till kontroll två servomotorer på en "X" och "Y" axel med en joystick.Programmet och Servos skulle användas för attstyra en trä labyrint, men kan också användasf...

Digital Arduino Voltmeter med temperatur

ett av mina projekt krävs testning av aquastats, och vi behövs för att övervaka spänning (12-14vac) samt temperatur. Jag ursprungligen började med en TMP36 analog temperaturgivare, men var missnöjd med utgången. Det omväxlande några grader efter någr...

Arduino, gyroskop och bearbetning

Hej killar, detta är mitt första försök att skriva ett projekt här.Detta är en instructable om hur man läser en gyro-sensor och plotta data med hjälp av programvara på ditt skrivbord. Jag använder gyroskop modell XV81-000 och en arduino. Enheten är e...

Automatisk flera foto Taker (Photobooth stil)

detta är en handledning om hur du programmerar din DSLR kamera att ta bilder photobooth-stil. Det är en enkel Arduino inställning som tillåter dig att ta kontinuerlig bilder med 3-sekunders fördröjningsintervall. Detta byggdes för ett college elektro...

ATTiny USI I2C inledning - en kraftfull, snabb och bekväm kommunikationsgränssnitt för ATTiny projekt!

I2C, det är en standard som har funnits i runt 20 år och har hittat användningsområden i nästan varje hörn av elektronik universum. Det är en otroligt användbar teknik för oss microcontroller hobby men kan verka skrämmande för nya användare. Denna ha...

Musik spelas väckarklocka

Detta Instructable kommer att utforma en musikspelare från använder olika byggstenar. Ni förstår kommunikationen mellan mikrokontroller, minne, dator, LCD-display, RTC, IR-fjärr och musik fil dekodern. Jag ska försöka mitt bästa för att lära dig på e...

* duino Keg Temp bildskärm eller jakten på den perfekta Pint

jag var ute efter ett projekt som kombinerade mina tre favorit saker - arbetar i min butik, bygga saker för min bar och naturligtvis dricka öl. Efter ett par veckor i det gamla landet dricka "Guinness", bestämde jag mig för min skulle jag sätta...

Räknar krets till 99.999

för ett tag sedan Kelloggs (ett spannmål företag) gav ut dessa gratis steg-räknare. Allt de gjorde var att lägga till 1 till aktuellt nummer visas, när en pendel stängt en krets när man gick. Visningen var ett antal LCD-panel med 9 siffror. Så allt d...

Hur till Program An på lilla

i detta instructable jag visar dig hur man programmerar på små marker som de är billigare än arduino's och de är mycket mindre.Steg 1: Delar och verktyg Här är de delar och verktyg som behövs för att göra detta projekt:På tiny 85 eller 45Arduino unoW...

FISH TANK--del av aquaponic balkong Garden

Akvariet är där fisk och fisk vatten för odling av växter är bosatt. Här finns också tre (3) automation elements - först att vara en Ultra Sonic avstånd sensorn möjliggör detta mycket specifik mätning av exakt var vattennivån är i fish tank är hela t...

VÄXA-säng--del av aquaponic balkong Garden

Växa säng är där media för odling av växter finns. Här finns också två (2) sensorer - första är en Media sond och den andra är en DS18B20 temperatur sond. Också finns inom växa säng är roten igensättning Preventer mekanismen som täcker och möjliggör...

Lösenord Keeper

Detta är min senaste lösenord keeper som har en masse förbättringarna över den senaste iterationen. Förbättringarna inkluderar, aes-256-bitarskryptering, mindre formfaktorn & denna version kostar betydligt mindre än den tidigare versionen. Nyckeln ti...

Brobot: Känslomässigt lyhörd roboten

Detta instructable skapades enlighet projektet kravet på Makecourse vid University of South Florida (www.makecourse.com)Jag satt i min lägenhet en dag försöker tänka på ett projekt för min helt nya Arduino Uno micro controller. Pixar filmen Wall E va...

ORP / pH / temperatur datalogger

vattenkvalitet Professional arbetar med dricksvatten, jag vet hur viktigt det är att noggrant övervaka de desinficerande nivåerna i dricksvattnet som får serveras till allmänheten. Vanligtvis, som innebär att varje vecka ta prover i distributionssyst...

USB-Wii Classic Controller

detta projekt kommer att visa dig hur du skapar en riktig USB-spelkontroll med en Wii Classic Controller.Igenom stegen lär du dig:Funkar USBHur I2C fungerarHur man läsa data från Wii Classic ControllerNågra av dessa förutsättning kunskaper skulle var...