EnglishSvenska

Hittade ett användningsområde för Raspberry Pi!

Vid busshållplatser finns det ofta en monitor som visar tid till nästa buss. Min tanke var att en sådan vore användbar även hemma för att veta när man behöver gå ut. Såhär blev det:

Monitorn står på en garderob i kontoret väl synlig även från hallen. Nu kan man slå ett öga på busstiderna när man klär på sig. Allt för ofta har jag sprungit ner till en buss och ändå missat den. Kanske ändrar detta på saken.

Tekniska detaljer

  • Raspberry Pi (liten linux-dator)
  • Strömförsörjning via micro-usb.
  • Hdmi-kabel med dvi-adapter till en gammal lcd-monitor.
  • Vanlig nätverkskabel.
  • Usb-tangentbord.

Jag programmerade en egen webbplats för att visa busstider. Den som finns på Västtrafiks webbplats är för plottrig. Efter att jag publicerat webbplatsen på min server var det bara att öppna webbläsaren i Raspberry Pi och skriva in adressen. Var 5:e sekund uppdaterat sidan sig själv vilket borde vara mer än tillräckligt. Allt ligger på http://sebastiannilsson.com/vasttrafik-widget/. Testa exempelvis att söka från brunnsparken till chalmers.

Tagged with: ,

Fick äntligen min Raspberry Pi

Det är en dator för $35 som kör linux. Kanske världens billigaste användbara dator. Såhär ser skönheten ut:

Instruktioner för att få igång den:

  1. Skaffa SD-kort. Minst 4 Gb.
  2. Ladda ner debian från http://www.raspberrypi.org/downloads
  3. Använd Win32DiskImager för att ladda över iso-filen till sd-kortet.
  4. När du bränt in debian i sd-kortet, stoppa in den i hållaren på raspberry pi.
  5. Koppla in kablar till tangentbord, mus, monitor, nätverk och ström. Strömförsörjningen sker med micro-usb.
  6. Logga in med användarnamn pi och lösenord raspberry.
  7. Skriv in startx för att få fram fönsterhanteraren.

Nästa steg för mig är att fundera ut vad jag vill göra med den.

Extra konfigurationer jag gjort

För att få svensk layout på tangentbordet, öppna terminalen och skriv:
setxkbmap se

För att permanent ändra till svensk layout på tangentbordet:
sudo nano /etc/default/keyboard

Gillar vim bättre än nano:
sudo apt-get install vim

Ser du en svart ram runt skärmen? Det är i så fall på grund av overscan:
sudo vim /boot/config.txt
lägg till detta i filen och spara:

disable_overscan=1

Infoga text i vim gör du med i. Spara är esc och därefter :wq

Och några tips

Stäng av:
sudo shutdown -h now

Starta om:
sudo reboot

Tagged with:

Andra steget till en självbalanserande robot

Jag har nu fått tillräckligt många delar för att börja montera roboten.

Jag blev tvungen att borra upp hålen något för att få dem att passa M3.

Accellerometern sätts så nära motoraxeln som möjligt.

Smart grej för att dra åt alla muttrar är att ta en skruvdragare, en bit tejp och därefter snurra den gängade stången. Håll fast muttern med fingrarna och låt borrmaskinen göra jobbet. Annars tar det ett bra tag att få dit alla 24 muttrar.

Såhär ser den ut just nu:

Tagged with:

Ytmonterad Arduino Uno med TQFP32 adapter

Jag ville testa att löda ytmonterat och köpte mig därför adapter från TQFP32 till vanlig dip att sätta i breadboard.

Skaffa adapter från TQFP32 till dip. Chip att löda fast är i det här fallet en Atmega328P-AUR.

Tänk på att det är lättare att löda med flux:

Såhär ser det ut när man alla ben och headers sitter på plats:

Montera på breadboard och bränn in Arduino Uno bootloader:

Klart. Atmega328P-AUR på en breadboard med Arduino Uno bootloader:

Äntligen vettig backup i molnet!

Vad skulle hända vid en förlust av laptop? Skulle fortfarande alla semesterbilder vara kvar? Lösningen är för många att säkerhetskopiera till en exten hårddisk. Att inbilla sig en otur några nivåer värre skulle kunna vara att någon bryter sig in i hemmet och stjäl alla datorer inklusive den externa hårddisken med alla säkerhetskopior. Det enda som håller din data säker skulle i så fall vara att ha den duplicerad på annan ort. Jag har testat ett antal kombinationer av backuplösningar och tror mig nu har funnit en som är bättre än det mesta. Backblaze tar 4 usd i månaden och lovar då att lagra all data från en dator. Installera programmet, markera de hårddiskar som har viktig data och låt den tugga några dagar. I mitt fall är det 150Gb som den måste ladda upp vilket jag har förståelse för tar ett tag. Efter att första backupen är gjord kommer den självklart bara att uppdatera de filer som ändras, tas bort eller läggs till. Vissa tjänster är bra nog att få gratisreklam.

Förbättrad hårdvara för att styra Roomba

Förbättrade nyligen hårdvaran för att fjärrstyra min dammsugare över internet. Tidigare använde jag ett helt Arduino Uno-kort vilket är overkill. Bättre och snyggare blir det att göra det direkt på en breadboard. Video när det fungerar (med lite annan hårdvara).

1. Koppla upp Atmega328 på breadboard för att få en Arduino Uno.

2. Dra kablar från varje knapp på fjärrkontrollen.

3. Sätt dit ett gäng transistorer. En för varje knapp du vill fjärrstyra. Kom ihåg att kombinera jord för breadboard och fjärrkontrollen. Jag satte också dit några lysdioder för att lättare se vilket kommando som skickas.

4. Tejpa kablarna så att de sitter på plats.

5. Tejpa fast breadboard på fjärrkontrollen. Detta gör den mer intakt och risken för att kablar lossnar minskar.

6. Koppla in till datorn och konfigurera eventghost till att styra roomba.

Tagged with: , ,

Installing Zend Server CE in Ubuntu 12.04 (on Amazon EC2)

There already are some guides of how to setting up Zend Server in Ubuntu and one good example is one from Informasjonsviteren.

I used an Ubuntu 12.04 x64 on Amazon EC2 in this guide:

sudo vim /etc/apt/sources.list
add this at the bottom:
deb http://repos.zend.com/zend-server/deb server non-free

wget http://repos.zend.com/zend.key -O- |sudo apt-key add -
sudo apt-get update
sudo apt-get install zend-server-ce-php-5.3
sudo vim /etc/apache2/httpd.conf
add this at the bottom:
ServerName localhost

sudo apt-get install lynx
sudo /etc/init.d/apache2 restart
sudo /usr/local/zend/bin/zendctl.sh restart

To show status of zend server:
sudo /usr/local/zend/bin/zendctl.sh status

sudo chown ubuntu -R /var/www
sudo nano /etc/profile
add this at the bottom:
PATH=$PATH:/usr/local/zend/bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/zend/lib
source /etc/profile
sudo chown ubuntu /etc/apache2 -R

Try accessing the site on http://#PUBLIC-DNS# for example http://ec2-xxx-xx-xxx-xxx.eu-west-1.compute.amazonaws.com

If it shows you a page saying "It's working" then you are ready to upload your php files to /var/www. If it did not work check the Security group settings in EC2 (if you are running on EC2 ofcourse). Also check status of the zend server (as descibed in the guide)

Visit https://ec2-xxx-xx-xxx-xxx.eu-west-1.compute.amazonaws.com:10081 to get to the Zend Server Installation guide. Remember to open 10081-10082 in firewall (Security group setting in EC2). Only open theese ports for your ip.

Use /etc/apache2/sites-available/default for configuring the apache server.

For installing mysql aswell:
sudo apt-get install mysql-server
sudo apt-get install mysql-client-core-5.5

 

Första steget till en självbalanserande robot

Nu ikväll gjorde jag cad och beställde delar till att göra en egen självbalanserande robot. Kommer att använda Arduino som mikroprocessor och en liten 6 degrees of freedom som tilt-sensor.

Cadden på bilderna är inte helt klar men jag tror att de flesta delar är på sin rätta plats.

Uppdatterar med nya blogginlägg allt eftersom framsteg blir gjorda.

[Uppdatering 2012-06-12] Skruvförband på plats

La till skruvförband till motorfäste, hjul och de stängerna. Uppdaterade bilder:

Tagged with:

Hur man flyttar en EC2 Instance till ett annat konto

Det går tyvärr inte att ändra ägandeskapet för en EC2 instance så det man får göra är att dela den och skapa på nytt. Guide för flytt av EC2 Instance från Konto A till Konto B:

  1. Konto A. Create snapshot.
  2. Konto A. Create image from snapshot
  3. Konto A. AMIs. Edit permissions.
  4. Konto B. Gå till https://aws-portal.amazon.com/gp/aws/developer/account?ie=UTF8&action=payment-method och se account number i hörnet.
  5. Konto A. Skriv in account number utan bindesstreck i edit permissions.
  6. Konto B. AMIs. Välj Private Images. Det kan ta ett tag innan den dyker upp.
  7. Konto B. Launch. Välj din AMI. Sätt upp servern som vanligt.

Om servern har en webbserver behöver man låta båda servrarna köras parallellt ett tag för att ge dns-servrarna en chans att förnya sin cache:

  1. Konto B. Associera en ny Elastic ip till den nya servern.
  2. Konto A. Koppla databasen mot den nya servern. På detta sätt låter man endast en databas vara aktiv.
  3. Ändra dns-installningarna för domännamn. Peka mot det nya ip-nummret.
  4. Kontrollera att båda servrarna är igång och går att komma åt från webbläsaren. Efter något dygn kommer alla endast att besöka den nya servern. Gör då Terminate på instancen i Konto A.

Standalone Arduino med en Atmega328

Att sätta ihop sin egen Arduino på en labbplatta är ingen större konst. Visar här några illustrationer som förklarar hur man gör. Du kan köpa ett arduino-kit från mät.se för att få allt du behöver.

Enklaste konfigurationen som kräver en ftdi-kabel:

Vill man kunna mata denna koppling med ström från ett batteri lägger man bara till en några få komponenter. Finns att köpa här.

Istället för en ftdi-kabel kan man sätta dit en usb-modul såhär. Länk till usb-modul.