Elektronik


Jag läste precis en artikel om en kille som vill ha allt av godsaker i en ‘drömpryl’ eller ‘drömdator’ som han beskrev det som. Den skall självklart vara en super-PC som bas, telefon, MP3, GPS, dockningsmöjligheter till alla möjliga enheter (skärm, home-entertainment center, ström, lagringsenheter, internet osv…) och ha iprincip oändlig lagringskapacitet. Och den skall inte vara större än en mobiltelefon är idag.

Det här har jag själv också tänkt på en hel del gånger, men slås hela tiden av flera dilemman:

  • Om jag skall ut på krogen, törs jag ta med min ‘super-PC’ bara för att jag skall kunna ringa efter taxi?
  • Samma om jag skall ut och springa/träna, och vill höra på lite musik.
  • Om någonting i den slutar fungera, måste jag troligen lämna in hela grejen för att få det fixat.
    • Kan jag få lånat en likadan medans?
    • Om jag får låna, hur mycket strul blir det för att få in samma innehåll på den som jag har i min?
  • Om jag är bortrest med min super-PC som innehåller alla mina fina filmer, hur gör mina kära hemma när dom vill se på en film?

Och så vidare…….. det här kan man ju spinna på i evigheter. Men det ligger ju på andra sidan självklart mycket i denna önskan om att inte behöva dra runt på en massa prylar bara för att man vill ha en mobiltelefon, GPS, MP3, radio, internet osv med sig när man är ute och reser.

Det som det ofta handlar om i många av fallen är tillgången till information. Och då menar jag information i olika former, från dokument och kartor till filmer, låtar, spel och så vidare. Och allt detta finns i olika format och måste kunna behandlas därefter. Men det man vill kunna är ju att komma åt informationen och använda sig av den oavsett vart man befinner sig. För att åstadkomma det måste man dels kunna behandla många olika typer format, koppla upp sig mot den plats där man har informationen (troligen på internet), hämta information om vart man befinner sig från sateliter för att sedan placcera detta på en karta. Kanske hämta ner andra kartor.

Och sedan vill man ju kunna vara tillgänglig hela tiden. Inte bara skall man kunna ringa. Även via messenger, mail och dyligt skall man kunna nås hela tiden.

Och sitter man i vardagsrummet skall man självklart kunna visa all information på TV-skärmen i stället för den lilla displayen som troligen sitter på manicken. Och man skall använda fjärrkontrollen för att styra allt….

Joda, önskan finns ju, men jag tror, även om jag har sett en del forskningsgrupper som håller på med bitar av det här, att det är en bit kvar till informationen blir så tillgänglig som vi önskar.

Annonser

Jag lyckades inte så bra med att använda det färdiga .Net API:t från Dallas mot den One-wire seriekonverter jag byggde. Om det är att jag har byggt konvertern själv eller om det är min temp-sensor som gör det vet jag inte.

Men nu har jag i alla fall lyckats med att läsa av temperaturer från givaren. För att man skall kunna läsa av temperaturen måste man berätta för givaren att man vill läsa av ett nytt värde. Om man inte gör det får man det gamla värdet. I .Net-API:t finns en klass som heter TemperatureContainer med funktionen doTemperatureConvert som skall ge givaren besked om att man vill läsa av ett nytt värde. Det funkade dock inte för mig. I stället fick jag gå en nivå ner och använda funktionen putByte(0x44), där 0x44 är det samma som att konvertera temperaturen. Jag har inte lyckats lista ut varför doTemperatureConvert inte fungerar, men som et kan verka är det på grund av att jag inte har en extern strömkälla som matar one-wire nätet. Jag måste dock söka lite info om det först.

Eftersom operationen med att konvertera temperaturen nu görs på själva adaptern (alltså hela konverterns nät), måste man ange vilken typ av sensorer som skall ingå i 'omfånget'. Det görs genom att ange vilket familj som skall adresseras med kommandot

adapter.targetFamily(0x10);

där 0x10 anger att det är temperaturgivare som skall adresseras. Sedan skall en sökning efter dessa göras på nätet,

adapter.setSearchAllDevices(); 

och för att alla givera av typen skall reagera, görs ett kommando som säger att adaptern inte skall bry sig om adresserna (Skip ROM)

adapter.putByte(0xCC); 

Om man har en extern strömkälla som kan leverera ström på nätet skall man starta denna nu. Annars är det bara att göra en temperaturkonvertering och sedan läsa ut temperaturerna från givarna.

Det visade sig att Dallas Semiconductors som har en hel del grejer för One-Wire nät har gjort en .Net-komponent som hanterar all kommunikation med sensorerna i nätet. Det underlättar ju en hel del för den som inte vill programmera på hårdvarunivå.

Trots detta tog det ett tag innan jag fick det att fungera. Till att börja med fick jag nåt som verkade som en standard-temp från givaren, men nu verkar det dock fungera. Jag tror endå jag skal vänta till jag har startat om datorn med att säga säkert, eftersom jag körde en annan 'standard'-applikation (digiTemp) mellan.

Sen blir det att skapa en databas där jag kan logga värden från alla sensorer framöver.

Jag återkommer med den kod jag har fått att fungera!

Jag har precis färdigställt min temperaturmätare som jag skall koppla till min dator. Den bygger på en princip som heter 'One-Wire-Network', vilket innebär att man kan koppla flera givare (ex. vis en tempgivare) til samma tråd. Varje givare har en unik adress, så det är upp till programvaran att hitta alla givare och sedan även identifiera vilken typ det är och ställa in efter det. Andra typer av givare som finns är fuktgivare och vindmätare.

Nu har jag kopplat in en tempgivare, så jag tänkte se om jag kan få det att fungera. Först tänkte jag prova med en programvara som redan finns (säkrast så), men målet är att skapa ett eget program som kan samla ihop lite data om mitt hus och miljön kring det.

Vi får väl se hur det går…….. 🙂