EnglishSvenska

Virtual host i apache2

Enkelt i Ubuntu (och troligtvis även i de flesta andra linux-distrubutioner):

  1. Skapa en .conf-fil i sites-enabled (/etc/apache2/sites-enabled). Exempel på konfigurationer finns på http://httpd.apache.org/docs/2.0/vhosts/examples.html
  2. Skapa en symbolic link till den virtuella värden mha #sudo a2ensite mynewsite
  3. Du borde få en symbolisk länk i sites-enabled och ett meddelande om att apache måste reloadas. 
  4. Reloada med #/etc/init.d/apache2 reload

Förstora utrymmet på en EC2 instance

moln_MediumJag kör en Amazon EC2-instans som server för en webbtjänst. Servern använder EBS (Elastic Block Storage) som virtuell hårddisk. I och med att en databas växer kan det bli nödvändigt att förstora hårddisken. Jag fick leta en del innan jag hittade en hur man gör detta och därför har jag här skrivit en liten guide. Lite som en kom-ihåg för mig själv.

  1. Gör en snapshot av voymen. Detta blir en exakt kopia av den virtuella hårddisken i det läget den befinner sig i just då. Detta steg kan ta några minuter.
  2. Stoppa EC2-instansen (och inte terminate för då försvinner allt). 
  3. Gör en unmount på den volymen som fanns kopplad till EC2-instansen.
  4. Add new volume. Välj större utrymme och den snapshot du gjorde i steg 1.
  5. Mount på den nya volymen.
  6. Starta servern.
  7. Koppla upp med ssh. 
  8. #df -h för att se nuvarande utrymme.
  9. sudo resize2fs /dev/sda1 
  10. df -h igen för att se att utrymmet förstoras.

Molnet är fint!

Android-tablet på väggen

Hemelektronik är kul och att göra något själv är ännu bättre. Nedan är några bilder på hur jag förvandlade en gammal android till en central för att styra elektronik. Det blev något av lägenhetens hjärna.

android_tablet_eventghostandroid_automation_1android_automation_2

Skärmdumpar:

eventghosteventghost2eventghost3eventghost4eventghost5

Video:

Allt ligger under open source-delen på bloggen för den som är mer intresserad.

För detaljerade instruktioner för hur du gör något liknande besök https://sebastiannilsson.com/open-source/eventghost-web-gui/101-instruktioner-foer-hemmaserver-tellstick-nexa-och-ir-saendare

New better version

[Update 2012-02-13]

I have updated the code to run better on Eventghost web server. 

New screen shot:

eventghost_web_gui_html5

android_tablet_eventghost

Some screens [old]:

eventghosteventghost2eventghost3eventghost4eventghost5

Video (in Swedish):

http://www.youtube.com/watch?v=UGinP0FXSVA

Instructions:

  1. Put the files on your Eventghost web server. Make sure that you run the latest Eventghost since the earlier versions of the web server does not work very good. 
  2. /js/config.js is for configuring jquery mobile. You can probably keep it as it is.
  3. /index.html is the start page. The rest of the pages are in /docs/controls. 
  4. Visit the web server in your browser. If new actions appear when you click on buttons in the gui then it works. 

For more detailed instructions (in swedish) visit https://sebastiannilsson.com/open-source/eventghost-web-gui/101-instruktioner-foer-hemmaserver-tellstick-nexa-och-ir-saendare

Latest source code can be grabbed from Bitbucket . Or just click here to get the zip.

Lock tables in CakePHP

I needed to do some table locking. Just call the method from the controller to lock and unlock your tables. The code below is only tested with MySQL and InnoDb tables. Put it in app_model.php

{code }

<?php

class AppModel extends Model {

    function lockTableRW() {

$this->lockTable('READ');

$this->lockTable('WRITE');

    }

    function lockTable($type='READ') {

$dbo = $this->getDataSource();

$dbo->execute('LOCK TABLES '.$this->table.' '.$type);

    }

    function unlockTables() {

$dbo = $this->getDataSource();

$dbo->execute('UNLOCK TABLES');

    }

}

 

 

Helhetsresultat av kandidatarbetet (just nu)

Kandidatrapporten är inlämnad och nu återstår demonstration, presentation och opposition. Här är en video från senaste körningen vi gjorde:

Jo och rapporten går givetvis att ladda ner för den som vill:
Kandidatarbete_SSYX02-11-05.pdf 4.15 Mb

Och robotkoden som körs:
Programmeringskod (RAPID) från ABB RobotStudio 8.41 Kb

Taggad med:

Robotarna pratar med varandra!

De två små robotarna har en tom main-rutin och väntar på interupt-signaler från den stora roboten. Så fort en liten robot får order om att utföra så utför den oavsett var den befinner sig. På det här sättet låter vi den stora roboten stå för logiken och de små blir bara utförare.

 

För den som är intresserad finns kod att hämta:
rob_stor.txt
rob_liten_1.txt
rob_liten_2.txt

Ett utdrag från koden visar hur man använder TRAP för att använda interupts i RAPID-kod.

 

VAR bool first_loop:=true;

VAR intnum sig_mt_home;

VAR intnum sig_mt_ws;

VAR intnum sig_dodrill;

 

PROC main()

IF (first_loop) THEN

! mt_home

CONNECT sig_mt_home WITH t_mt_home;

ISignalDI DI_cR1_mt_home, high, sig_mt_home;

! mt_ws

CONNECT sig_mt_ws WITH t_mt_ws;

ISignalDI DI_cR1_mt_ws, high, sig_mt_ws;

! do drill

CONNECT sig_dodrill WITH t_dodrill;

ISignalDI DI_cR1_dodrill, high, sig_dodrill;

first_loop := false;

ENDIF

Reset DO_cR1_mt_home_d;

Reset DO_cR1_mt_ws_d;

Reset DO_cR1_dodrill_d;

!drill_sequence;

ENDPROC


TRAP t_dodrill

! its a trap!

Reset DO_cR1_dodrill_d;

dodrill;

Set DO_cR1_dodrill_d;

WaitTime 1.5;

RETURN;

ENDTRAP

 

Taggad med: , ,

Anledningen till att datorn blir långsam efter ett tag

En vanlig anledning till att datorer blir långsamma är värmeproblem. Fläktarna fylls med damm och kylflänsar täpps igen. När jag inte längre kunde spela hd-filmer på bärbara visste jag att det var dags att visa den lite omtanke. Nedan är en snabbguide för hur man underhåller en Dell XPS 1530.

Montera bort locket på undersidan:
Anledningen_till_att_datorn_blir_lngsam_efter_ett_tag1

Skåda allt damm:
Anledningen_till_att_datorn_blir_lngsam_efter_ett_tag2Anledningen_till_att_datorn_blir_lngsam_efter_ett_tag5Anledningen_till_att_datorn_blir_lngsam_efter_ett_tag7

Ta bort det och gör rent från gammal kylpasta:
Anledningen_till_att_datorn_blir_lngsam_efter_ett_tag8Anledningen_till_att_datorn_blir_lngsam_efter_ett_tag12Anledningen_till_att_datorn_blir_lngsam_efter_ett_tag11

Lägg dit ny kylpasta och montera ihop:
Anledningen_till_att_datorn_blir_lngsam_efter_ett_tag13

Simulerade robotar i Robotstudio

Våra ABB-robotar fungerar nu även virtuellt. Tyvärr blev videon lite hackig när jag spelade in den. Vet inte riktigt varför.

Videon visar en liten del av processen. Lägger upp mer när det programmerats.

Taggad med:

Sektionstidningen publicerar en artikel om vårt kandidatarbete

zenith_automation_och_mekatronikZenith är Automation och mekatronik-sektionens tidning. Förutom intressanta artiklar från sektionens föreningar, lite knep-och-knåp och några sköna citat från föreläsare skrevs en artikel om vårt kandidatarbete.

Utdrag från Zenith (tryck på den för att förstora):

zenith_chalmers

Lägger också upp några bilder som togs i samband med artikelskrivandet:

kandidatarbete_chalmers_zenith_3kandidatarbete_chalmers_zenith_1kandidatarbete_chalmers_zenith_2

Tack till Samir!

Taggad med: ,