Arduino: HM-10 Bluetooth moduluri firmware barridxe imiñi

Zer da HM-10? Arduinogaz erabiltzeko Bluetooth modulo bat. Zetako barriztuku moduluen firmwarie? Ba bertsiño barridxekaz ibeacon-ak al’ dizelako komandotxu bategaz errez topa. Ta eitzen gabiltzen inbentuentzako ba elegante dator :D

Garrantzitsue, mota biko HM-10 modulue dau: CC2540 eta CC2541 chipsetdunek, ez pakizuien zein dakozuien, galdetu erosi’tzazuienari.

http://i.imgur.com/agMylUM.jpg

Hasi aurretik biduzen gauzek:

  1. HM-10 Bluetooth modulue
  2. Arduino UNO
  3. Artazidxek
  4. Windows

Firmwarie barridxe sartzieko programie windows-entzako bakarrik dau :(

1.- Arduinon hurrengo Sketch-a karga:

/*
WRITE THIS COMMAND TO UPGRADE FIRMWARE
AT+SBLUP
*/

#include  // 
SoftwareSerial BT(7, 8); // 7 Bluetooth TX, 8 Bluetooth RX
unsigned char buffer[64];           // buffer array for data recieve over serial port
int count = 0;                      // counter for buffer array 
void setup()
{
  BT.begin(9600);               // the GPRS baud rate   
  Serial.begin(9600);             // the Serial port of Arduino baud rate.
}
void loop()
{
 if (BT.available())              // if date is comming from softwareserial port ==> data is comming from gprs shield
 {
   while(BT.available())          // reading data into char array 
   {
     buffer[count++] = BT.read(); // writing data into array
     if(count == 64)
       break;
   }
   Serial.write(buffer,count);      // if no data transmission ends, write buffer to hardware serial port
   clearBufferArray();              // call clearBufferArray function to clear the storaged data from the array
   count = 0;                       // set counter of while loop to zero
 }
 if (Serial.available())            // if data is available on hardwareserial port ==> data is comming from PC or notebook
   BT.write(Serial.read());       // write it to the GPRS shield
}

void clearBufferArray()            // function to clear buffer array
{
 for (int i=0; i < count;i++) // 
   buffer[i]=NULL;                 // clear all index of array with command NULL
}

Hamen github-en linke: https://github.com/ZiTAL/arduino/blob/master/HM10/FIRMWARE_UPDATE.ino

2.- Modulue firmwarie barriztuteko moduen imiñi:

Horretarako hurrengo irudikulez egin montajie:

https://raw.githubusercontent.com/ZiTAL/arduino/master/HM10/HM10.png

Oin igiri arduinon konsolie eta imiñi baudiuek “9600” eta “No line ending” opziñuek:

http://i.imgur.com/7kQ00Ar.png

Idatzi AT eta emon Send -> OK bategaz erantzun bidozku.
Oin idatzi AT+SBLUP eta emon Send -> OK+SBLUP bategaz erantzun bidozku.

Bueno ba modulue preparata dau firmware barridxe sartzieko, moduluen argidxe len bizidxe zana oin idxe amatata ongo da.

3.- Arduino UNO-ri mikrokontroladora kendu:

hamen dakozuie zelan kendu, nik artazi batzukaz eindxot, kontuzegaz errez kentzien da.

http://i.imgur.com/rRXJA6q.jpg

4.- Arduinon RX/TX HM-10-an RX/TX bihurtu:

Horretarako hurrengo eskemie erabili:

https://raw.githubusercontent.com/ZiTAL/arduino/master/HM10/FIRMWARE_UPDATE.png

5.- Jakindxe ze chipset mota dakun, firmwarie baja:

Hamen dakozuie linke: http://www.jnhuamao.cn/download_rom_en.asp?id=

Nire kasuen HM-10 CC2541 v540, gaur egun 540 bertsiñue dalako azkana, gero batek daki…

Baja eta deskonprimidu, hiru artxibo ongo diez:

  1. HMSoft.bin
  2. HMSoft.exe
  3. readme.txt

6.- Arduino Windowsera konekta:

Le’ngo eskemie montata arduino konekta USB bidez Windows makiñera eta juen Administrador de dispositivos-era

http://i.imgur.com/G4Htf8q.png

Hamen ikusi bidu Puertos (COM y LPT) -> Dispositivos serie USB (COM*)

Non * da zenbakidxe akorda bigarana gero firmwarie sartzieko.

7.- HM-10 modulueri firmware barridxe sartun:

Igiri HMSoft.exe programie eta aukeratu HMSoft.bin fitxategidxe eta COM Port-en imiñi COM* dakarren zenbakidxe, nire kasuen 3.

http://i.imgur.com/wjgfsF1.png

eta jo Load Image.

http://i.imgur.com/7vA1nR5.png

Amaitzu eta gero Download completed successfully agertuko dasku.

8.- Deskonekta arduino eta barriro imiñi microcontroladora:

Oin deskonekta arduino ordenadorerik eta imiñi barriro kontroladora, ezpakizuien zelan sartun, microcontroladoran dakarzen letrak Arduino UNO letrak dakarzen okerretara diez.

9.- Ikusi bertsiño barridxe kargata badauen:

Horretarako barriro kargaku lengo eskemie:

https://raw.githubusercontent.com/ZiTAL/arduino/master/HM10/HM10.png

Ta arduinon konsolie igiri’ku:

http://i.imgur.com/HH9nK20.png

Lelau AT, jakitzeko ondo badauen modulue, OK bategaz erantzun bidozku, oin AT+VERR? idazku ta ikusku zelan emoten doskun bueltan HMSoft v540

Bonus: zelan ikusi beste bluetooth aparato batzuk?

AT+ROLE1
AT+IMME1
AT+RESET
AT+DISC? 

http://i.imgur.com/SDuCLto.png

ibeaconak bakarrik ikusteko:

AT+DISI?

Eskerrak: http://wiki.makespacemadrid.org/index.php?title=M%C3%B3dulo_HM-10#Configuraci.C3.B3n_del_m.C3.B3dulo_HM-10_como_un_dispostivo_central

Euskaltel wifi kalean kendu, paranoia moduen

Honetan egunetan twitter sue ibildxe botaten euskaltelen wifi kalean dala ta eztala:

https://twitter.com/search?q=euskaltel%20wifi%20kalean&src=typd

Ta zelan kendu lei?

Hamen weban logie:

https://zuretzat.euskaltel.com/CanalOnline/postventa/homes/home_login.jsp

Eta haunekaz jarraibidiekaz kendu lei:

produktuak -> internet -> Zerbitzuak -> Aldatu -> Euskaltel wifi -> konfiguratu -> Desaktibatuta -> ADOS

Oin paranoie hasten da, ezer esan barik imiñi doskuien moduen, barriro al’ dauie imiñi, orduen, hardware bidetik kendu’ku:

Nire modema CISCO EPC2325 modelue da, eta igiritze gero hau ikusten da:

http://img.imgur.com/IOLrRD2.jpg

Hamen ikusten dun moduen, wifi txartela, antenak loturek eta antenak ikusten duz:

http://img.imgur.com/suhy2w8.png

Ingune da antena loturek wifi txartelatik kendu:

http://img.imgur.com/PL5wX85.jpg

Eta gero wifi txartela kendu patillek kanporantz sakaten:

http://img.imgur.com/2McMHuy.jpg

Haulan geratuko da, oin zarratu eta entxufe barriro.

Ta zelan al’du wifidxe okin oin? Router neutro bat erositze eta euskalteleko modemara konektata, al’ bazuie bigarren eskuko bat edo lortu, merke lortu lei.

AKTUALIZAZIÑUE 2017/03/25:

Euskaltelek telefono barik internet okitzeko aukerie dala ta barriro kontrata dot, 1go arazue topa dotena modem/routerra modem moduen datorrela da, orduen router neutro bat gurebatzagun imiñi arazuek okinguz, router modotik modem-era pasateko euskalteleko orritzik ein bidu, hamen pausuek: Nire kasuen “Cisco EPC3825 Wifi 3.0” imindxostie, besteren bat badakozun ba aukeratu berori.

https://zuretzat.euskaltel.com/area-cliente/productos
Produktuak -> Cisco EPC3825 Wifi 3.0 -> KONFIGURAZIOA -> Kable-modema konfiguratzea – Abiadura -> “MODO ROUTER” aukera kendu eta gorde.

Teklau mekaniko otxenterue PS/2 USB bihurtu

Aupa, lagun batek emon dosten Fujitsu teklau mekaniko bat, ganera txikitxen bardiñe-bardiñe okitzen nauen txikitxen! Eskerrik asko Iraitz!

http://img.imgur.com/9GQyJXR.jpg

Bueno ba esan doten, PS2-etik USB-ra bihurtuten dauen katxarrue erosi ta listo!

http://img.imgur.com/xSUKBUw.jpg

Bueno ba allega zan, entxufe zandoten eta… hori ezan ibiltzen zan…

Internetik begire haunegaz topa naien:

http://img.imgur.com/rJAVsOZ.jpg

USB A Male to PS/2 Female PS2 Active Keyboard Adapter (gurenazuien ebay-en erosi)

Bueno ba allega zan, entxufe nauen eta bazabilen, baie ladrilo mando bat dalez, desmonta guzan nauen teklauen barruen sartzieko.

Desmonta doten, soldadurek kendu eta arduinogaz erabiltzen dotezen pin batzuk solda, hamen dakozuie ze pin dan zein.

http://img.imgur.com/1f5M08O.jpg

Oin, teklauetik datozen kabliek PS/2 atalan dauzen piñetan konekta eta USB-tik urteten dauienak kablera konekta eta kitxu.

Oin ariñauen erabili dun PS/2 tik USB-ra dunegaz konekta:

http://img.imgur.com/00UQ6M5.jpg

Zer faltako lekide? ba PS/2 konektorie USB-gaitzik aldatutie, baie nahiko bihar okindxot honegaz eta haulan lotuko da!

Ta zelako zaratie eitzen dau teklau mekaniko batek?

informatikuentzako pornue!!!

VirtualBox bidez Windows-eko partiziñue Ubuntu -n karga

Biarran danok imindxu Ubuntu, oin noiziek behin windows-eko partiziñuera konekta biher gara ta, honegaz soluziñuegaz eztakozu zetan berabiarazi ordenadora. Noiz egin hau? Windows partiziñue e’zuniko erabiltzen, Windows-eko partiziñue erabiltzen bazun EZ EGIN! Windows kapritxosue dalako hardwarran aldaketakaz.

Hasteko BIOS-a prestatu bidu:
Intel (r) Virtualization Technology aktibe biherku.

Bios -> Advanced -> CPU Setup -> Intel (r) Virtualization Technology

http://img.imgur.com/9PzcEpF.jpg

http://img.imgur.com/6nY4VnD.jpg

Ez’pazuien topaten holakorik ez preokupe.

Ubuntu-n barruen:

VirtualBox instala:

sudo su
aptitude install virtualbox

Geure erabiltzailie “disk” taldien sartun

usermod -a -G disk zital

Ubuntu hasten daniko disko gogorrari baimen batzuk emon, non /dev/sda2-n daku windows-eko partiziñue, beste lekoren baten bakozuien ba aldatu.

nano /etc/rc.local

sartun:

# virtualbox

chmod 666 /dev/sda
chmod 660 /dev/sda2

“exit 0”-n aurretik, nirie holan geratuko lekide:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# virtualbox

chmod 666 /dev/sda
chmod 660 /dev/sda2

exit 0

Urten root modutik:

exit

Berabiarazi ordenagailue (reinizie).

Oin erabiltzaile normal moduen:

cd $HOME
mkdir VirtualBox\ VMs
cd VirtualBox\ VMs
VBoxManage internalcommands createrawvmdk -filename windows.vmdk -rawdisk /dev/sda -relative

Oin VirtualBox igiriku eta makine barri be sortu:

http://img.imgur.com/5jo46uO.png

512MB RAM
http://img.imgur.com/AqL3WFw.png

Use an existing virtual hard drive file, eta len sortu dun fitxategie aukeratu’ku: windows.vmdk
http://img.imgur.com/ze3YBFY.png

Create eta Start

Ez ahaztu GRUB-en windows partiziñue aukeratutie!!!!

http://img.imgur.com/tpwllje.png

Arduino: LCD + PIR (mugimenduen sensorie)

Denpora asko idatzi barik eta geisorik nauela aprobetza eta mugimentuen sensorie iminjot arduinogaz martxan:

Erreza, sensoriek mobimientue notaten daueniko ba LCD-n idaztentu.

Argazkidxe:
http://img.imgur.com/eZ13N68.jpg

Zirkuituen mapie:
http://img.imgur.com/cAwkAcG.png

Kodigue:

//DFRobot.com
//DFRobot.com
//Compatible with the Arduino IDE 1.0
//Library version:1.1
#include  // 
#include  // 
LiquidCrystal_I2C lcd(0x27, 516,2); // set the LCD address to 0x27 for a 16 chars and 2 line display

// PIR Sensorie 2 PIN digitalien
int motion_1 = 2;
void setup()
{
	lcd.init();
	lcd.backlight();
	// PIR Sensorie
	pinMode (motion_1, INPUT);
}

void loop()
{
	// LCD resetie
	lcd.clear();
	lcd.setCursor(0, 0);
	// PIR Sensorie leidu
	int sensor_1 = digitalRead(motion_1);
	if (sensor_1 == HIGH)
		lcd.print("Mobidu");
	else
		lcd.print("Geldik");
	// 100 milisegundoko deskantsue :D
	delay(100);
}

Bididxue martxan:

Github-en kodigue: https://github.com/ZiTAL/arduino/blob/master/LCD_I2C_PIR/LCD_I2C_PIR.ino

Github-en arduino proiekto osue: https://github.com/ZiTAL/arduino/

avconv/ffmpeg: Abesti bategaz eta irudi bategaz bididxo bat sortu

Ein bidoten bakotzien beti nabil topaten interneten ta gero eztot apunteten ta han otenai 5 ordu, ba hamen imiñi ta listo ostia.

Abesti bategaz eta irudi bategaz bididxo bat sortuteko avconv erabilku:
abestidxe: input.mp3 320k
irudidxe: logo.png 1920×1080

avconv -i input.mp3 -loop 1 -f image2 -i logo.png -r 30 -s 1920x1080 -ab 320k -ar 44100 -ac 2 -t 00:10:00.000 output.webm

-i input.mp3: Abestidxen fitxategidxe.
-loop 1: Irudidxe bardine okingule bueltaka.
-f image2: irudidxe dala esateko.
-i logo.png: Irudidxen fitxategidxe.
-r 30: 30 frame segunduko, logikuena 1 okitzie ezango lekide baie eztabil ondo segun ze formatotan.
-s 1920×1080: Irudidxen tamañuen beste, hartun konpatiblie dan tamañoren bat.
-ab 320k: Abestidxen kalidade mailie.
-ar 44100: Abestidxen frekuentzidxe.
-ac 2: Stereo.
-t 00:10:00.000: 10 minutu-ko abestidxe badan.
output.webm Non gordekun

Arduino: 4×4 Matrizie

http://i01.i.aliimg.com/wsphoto/v3/570594709_1/Wholesale-10pcs-lot-4x4-Matrix-Keyboard-Keypad-Use-Key-PIC-AVR-font-b-Stamp-b-font.jpg

Hau matrizie erosi dot arduinori konektateko, erosi gurebazuien kontuz ze pin barik dator eta solda inbidiez pinek.

Hamen daku beronen katxarruen instrukziñuek:
http://www.cytron.com.my/usr_attachment/s%20Manual.pdf

Bueno ba hamen daku zirkuituen irudidxe:
http://img.imgur.com/UepaWmE.png

Puntetan dauzen pin bidxek ez dauie balijo eta X bategaz marka dotez.

Eta hamen argazkidxe:
http://img.imgur.com/WiuoEEb.jpg

Goiko irudidxetan ikusten dun moduen zutabiek resistentzi batzuk biher dauiez: 10K omh

https://ultimachine.com/sites/default/files/imagecache/product_full/Resistor_1_1.jpg

Oin Lerro eta zutabiekaz dau zatitxute, lehenengo 4 pinek zutabiek diez eta hurrengo 4 pinek lerruek, oin kodiguen ikusku hobeto:

/*  Keypadtest.pde
 *
 *  Demonstrate the simplest use of the  keypad library.
 *
 *  The first step is to connect your keypad to the
 *  Arduino  using the pin numbers listed below in
 *  rowPins[] and colPins[]. If you want to use different
 *  pins then  you  can  change  the  numbers below to
 *  match your setup.
 *
 */
#include 

const byte ROWS = 4; // Four rows
const byte COLS = 4; // Four columns
// Define the Keymap
char keys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};
// Connect keypad ROW0, ROW1, ROW2 and ROW3 to these Arduino pins.
byte colPins[COLS] = { 2, 3, 4, 5};
// Connect keypad COL0, COL1, COL2 and COL3 to these Arduino pins.
byte rowPins[ROWS] = { 6, 7, 8, 9};
  // Create the Keypad
Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  char key = kpd.getKey();
  
  if(key)  // Check for a valid key.
  {
    Serial.print(key);
  }
}

Ikusten dun moduen:

// Connect keypad ROW0, ROW1, ROW2 and ROW3 to these Arduino pins.
byte colPins[COLS] = { 2, 3, 4, 5};
// Connect keypad COL0, COL1, COL2 and COL3 to these Arduino pins.
byte rowPins[ROWS] = { 6, 7, 8, 9};

Zutabiek orduen arduinoko 2,3,4,5 pinetan konektakuz eta lerruek 6,7,8,9 pinetan.

Programie konpileteko Keypad.h, baie trankil ogon dana dau te neure github-en ;)

Eztakulez LCD-rik edo ikusteko ze tekla gabiltzen joten, konsolan idazten’du, konsolie igiritzeko lupe ikonuen egin klik:

http://img.imgur.com/gMFaa4Y.png

eta haulako lehidxo bat agertuko da, oin jo teklari eta ikusku zelan duen konsolie letra eta zenbakidxekaz beteten:
http://img.imgur.com/5egyU5X.png

Kodigo dana neure github kontuen:
https://github.com/zital/arduino

debian -en whatsapp pidgin -egaz erabiltzeko

2013/11/14 Eguneratute: Zenbakidxe desaktibe doztie! Bezero ez ofizialak erabiltziarreitzik:

http://www.whatsapp.com/faq/general/23154266

2013/10/07 Eguneratute: WART-1.5.1.0.exe bertsiñora!

Whatsapp ordenadoran erabiltzeko, gure kasuen pidgiñegaz:

Lehenengo erregistre ein biko gara, horretarako WART programie erabilku, .NET -entzako dau einje baie mono -gaz erabili lei:

su
aptitude install libmono-system-core4.0-cil libmono-system-windows-forms4.0-cil mono-runtime
exit

wget https://github.com/shirioko/WART/raw/f27b6326c8552fe134f9684d5e5876e1c28be0f7/WART-1.5.1.0.exe
mono WART-1.5.1.0.exe ui

http://img.imgur.com/fbD3iPl.png

Oin Phone number atalien geure mobilen zenbakidxe sartungu 34 -gaz aurretik + barik, adibidez:

34666111222

SMS eta Voice aukeratan: SMS hartungu eta Request Code botoie jo.

Lehenengo bidarra bada mobilera SMS bat allegako dasku, holako formatuegaz:

XXX-XXX

Horrek 6 digituek – barik programako Code atalien sartunguz eta Confirm code jo.

Found password:
ABCd1234567fGhIJkLmNOP+qRst=

Write it down and exit the program

Oin pidgin instalaku eta whatsapp-eko plugine beran pluginen karpetan sartun:

su
aptitude install pidgin
cd /usr/lib/pidgin/
wget http://davidgf.net/nightly/whatsapp-purple/x64/last-whatsapp.so
mv last-whatsapp.so whatsapp.so
exit

i386 badakozuie:

wget http://davidgf.net/nightly/whatsapp-purple/386/last-whatsapp.so

Oin pidgin igiriku:

kontuak -> kontuak kudeatu -> + Gehitu:
Protokoloa: whatsapp
Erabiltzailearen izena: 34666111222
Pasahitza: ABCd1234567fGhIJkLmNOP+qRst=
eta + Add jo.

Oin banan banan sartun bidiez lagunek 34gaz telefonuen aurretik:

Lagunak -> laguna gehitu
Lagunaren erabiltzaile izena: 34666222333
eta + Add jo.

WART -en github proiektue
https://github.com/shirioko/WART

whatsapp-purple -en github proiektue:
https://github.com/davidgfnet/whatsapp-purple

web.py nginx-egaz erabiltzeko fastcgi moduen spawn-fcgi-gaz debian gnu/linux-en

Instalaziñue:

su
aptitude install nginx-full spawn-fcgi python-pip
pip install web.py
exit

Proiektuentzako karpeta bat sortu, adibidez:

mkdir /home/projects/zpy
mkdir /home/projects/zpy/private
mkdir /home/projects/zpy/public
mkdir /home/projects/zpy/public/static
touch /home/projects/zpy/private/zpy.py

Haulako estrukturie okingo lekidau:

.
├── private
│   └── zpy.py
└── public
    └── static

Oin python-en script-e fcgi moduen erabiltzeko:

nano /home/projects/zpy/zpy.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import web

urls = ("/.*", "zpy")
app = web.application(urls, globals())

class zpy:
    def GET(self):
        return "kaixo mundua!"
        
if __name__ == "__main__":
    web.wsgi.runwsgi = lambda func, addr=None: web.wsgi.runfcgi(func, addr)
    app.run()

Baimenak emon:

chmod +x /home/projects/zpy/zpy.py

FCGI demoniñue sortu:

su
nano /etc/init.d/spawn-fcgi
#! /bin/sh
### BEGIN INIT INFO
# Provides:          spawn-cgi
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: fastcgi for python
# Description:       fastcgi for python using nginx
#                    placed in /etc/init.d.
### END INIT INFO
#
# original https://gist.github.com/ozeias/47394
# modified to use with python
#
# to install in debian gnu/linux:
# update-rc.d spawn-fcgi defaults
 
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/spawn-fcgi
NAME=spawn-fcgi
DESC=spawn-fcgi

HOST='127.0.0.1'
PORT=9000

FOLDER='/home/projects/zpy/private'
SCRIPT='zpy.py'
USER='zital'
GROUP='zital'

DAEMON_OPTS="-d ${FOLDER} -f ${FOLDER}/${SCRIPT} -a ${HOST} -p ${PORT} -P /var/run/${NAME}.pid -u ${USER} -g ${GROUP}"
 
test -x $DAEMON || exit 0
 
set -e
 
case "$1" in
	start)
		echo -n "Starting $DESC: "
		start-stop-daemon --start --exec $DAEMON -- $DAEMON_OPTS
	;;
	stop)
		echo -n "Stopping $DESC: "
		start-stop-daemon --stop --pidfile /var/run/$NAME.pid
	;;
#	restart)
#		echo -n "Restarting $DESC: "
#		start-stop-daemon --stop --quiet --pidfile \
#		/var/run/$NAME.pid --exec $DAEMON
#		sleep 1
#		start-stop-daemon --start --quiet --pidfile \
#		/var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
#		echo "$NAME."
#	;;
	*)
		N=/etc/init.d/$NAME
		echo "Usage: $N {start|stop}" >&2
		exit 1
		;;
	esac
 
exit 0

demoniñue martxan imiñintzeko:

update-rc.d spawn-fcgi enable
update-rc.d spawn-fcgi defaults
/etc/init.d/spawn-fcgi start
exit

Haulako zeuzer agertuko dasku:

Starting spawn-fcgi: spawn-fcgi: child spawned successfully: PID: 4619

Oin nginx konfigureku:

su
nano /etc/nginx/sites-available/python
server
{
	listen 80 default_server;
	listen [::]:80 default_server ipv6only=on;

	# Make site accessible from http://localhost/
	server_name localhost;

	location /static
	{
		root /home/projects/zpy/public;
		if (-f $request_filename)
		{
			rewrite ^/(.*)$  /$1 break;
		}
	}

	location /
	{
	        fastcgi_param REQUEST_METHOD $request_method;
	        fastcgi_param QUERY_STRING $query_string;
	        fastcgi_param CONTENT_TYPE $content_type;
	        fastcgi_param CONTENT_LENGTH $content_length;
	        fastcgi_param GATEWAY_INTERFACE CGI/1.1;
	        fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
	        fastcgi_param REMOTE_ADDR $remote_addr;
	        fastcgi_param REMOTE_PORT $remote_port;
	        fastcgi_param SERVER_ADDR $server_addr;
	        fastcgi_param SERVER_PORT $server_port;
	        fastcgi_param SERVER_NAME $server_name;
	        fastcgi_param SERVER_PROTOCOL $server_protocol;
	        fastcgi_param PATH_INFO $fastcgi_script_name;

	        fastcgi_pass 127.0.0.1:9000;
	}
}

Defektuzko konfiguraziñue kendu eta python-ena imiñi:

rm -rf /etc/nginx/sites-enabled/*
ln -s /etc/nginx/sites-available/python /etc/nginx/sites-enabled/python
/etc/init.d/nginx restart

Oin kontutan okin estatikoren bat gurebazuien sartun, js, css etc… “static” karpeta barruen sartun biherko dala, “public” karpetan eztau balijoko, adibidez:

“/public/a.txt” eztau balijoko
“/public/static/a.txt” bai balijoko dau :)

Eskerrak:

https://gist.github.com/ozeias/47394 spawn-fcgi-n demonidxuegaitzik :)

Firefox os Geeksphone Peak mobilen bertsiñue barriztu

Aspaldidxen idatzi barik baie hamen gatoz gerrie emoten barriro. Geeksphone enpresa española ezan da arduretu dena firefox os sistema erabilien lehenengo mobilek ataten. Keon eta Peak, hamen Peak-eri buruz eingu berba.

Eindxe gero egidxe ezan ez dot gomendatuten eitzie, ez pazaran habile honetan gauzetan, baie bueno hau telefonue bakozun ba normalena zeuzer kontrolatie da, baie bueno, gaur egun elekidot eingo eta mobileko aktualizaziño ofizialari itxarongo lekitzat eta ez horrenbeste denpora galdu, berau aktualizeten eta aplikaziñuek eitzen hasi.

Honetarako Ubuntu erabili dot, ze portatilen archlinux dakot eta 2GB RAM bakarrik dakotez eta 4GB biher diez.

GARRANTZITSUE: MOBILE AKTUALIZE TA GERO EZ EMON “FACTORY RESET” ZE EZTABIL

Halan ta guztiz be aurrera gurebazuien jarraitzu:

Biher dizen paketien instala:

su
aptitude install autoconf2.13 bison bzip2 ccache curl flex gawk gcc g++ g++-multilib gcc-4.6 g++-4.6 g++-4.6-multilib git ia32-libs lib32ncurses5-dev lib32z1-dev zlib1g:amd64 zlib1g-dev:amd64 zlib1g:i386 zlib1g-dev:i386 libgl1-mesa-dev libx11-dev make zip unzip openjdk-7-jdk
exit

eta oin Android-en SDK bajateko hau da linke:
http://developer.android.com/sdk/index.html

Derrigorrezkue da gnu/linux-en 64bits-ekue erabiltzie. Baja eta gero deskonprimidu:

unzip adt-bundle-linux-x86_64-20130219.zip

nik adibidez neure $HOME karpetan dakot eta haulan lotuko lekide:

/home/zital/adt-bundle-linux-x86_64-20130219

Oin link sinboliko batzuk sortu biherkuz:

su
ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
ln -s /home/zital/adt-bundle-linux-x86_64-20130219/sdk/platform-tools/fastboot /usr/local/bin/fastboot
ln -s /home/zital/adt-bundle-linux-x86_64-20130219/sdk/platform-tools/adb /usr/local/bin/adb
exit

Oin “plugdev” taldien sartunguz “root” eta geure erabiltzailie, neure kasuen “zital”:

su
gpasswd -a zital plugdev
gpasswd -a root plugdev
exit

Oin ikusi bidu ia ze ID dakon geure mobilek, horretarako mobile konekta kabliegaz USB-ra eta idatzi hau komandue:

lsusb

Haulako zeuzer agertuko da:

Bus 002 Device 006: ID 05c6:8013 Qualcomm, Inc. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Geuri interesaten doskune “05c6” da. Orduen oin:

su
nano /etc/udev/rules.d/51-android.rules

Eta hurrengo textue sartun:

SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666", GROUP="plugdev"

root modutik urten:

exit

Oin idatzi hurrengo komandue:

adb devices

Eta haulako zeuzer agertuko dasku:

List of devices attached
4cb17088f488    device

Ezpadan agertzien ezer, sesiñue zarratu ta barriro egin login, holan da be ezpadauen:

su
service udev restart
exit

eta holan da be ezpadan agertzien reinizie ordenadora.

Oin mobile imiñi “Developer” moduen, horretarako mobilen:

Settings -> Device information -> more information -> developer ->
console enabled

Oin kodigue bajaku:

git clone git://github.com/mozilla-b2g/B2G.git
cd B2G
git clone git://github.com/mozilla-b2g/b2g-manifest.git
./config.sh peak ./b2g-manifest/peak.xml

Dana juen bada ondo:

./build.sh

Trankil hartun ze honek azkaningoko bijek bakotzak egun erdi tardaten dau ._____.
Eta dana juen badan ondo ba:

./flash.sh

Permisuen errorerik emoten batzuien hau azkana egin root moduen:

su
./flash.sh
exit

Behin kodigue bajata, zelan aktualize kodigue?

./repo sync

Zelan konpile parte bat? Adibidez “gaia” bakarrik gurebadun aktualize:

cd gaia
rm -rf profile
make reset-gaia
PRODUCTION=1 make install-gaia
cd ..
./build.sh gaia
./flash.sh gaia

Bueno ba hau da dana, benetan zorte on danori, ze betetan buroko min handijek emongotzuiez :D

“Factory reset” eztabilela eta, zelan berreskuretu hasikerako bertsiñue?

Bueno ba geeksphone-eko foruetan ibilje topa dot soluziñue:

Lehenego gauzie hau baja:
https://cloud.waalt.com/public.php?service=files&t=0135a9b1d504176adc72789409d25d83

Deskonprimidu:

tar -zvxf images-TID-gp-twist-2013-04-16.Gecko-fe6592b.Gaia-44915e2.tar.gz

Mobile imiñi fastboot moduen:

Amata mobile
vol+,vol- eta power botoiek alda batera emon

Eta oin flashie:

su
fastboot flash boot boot.img
fastboot flash system system.img
fastboot flash userdata userdata.img
fastboot reboot
exit

Hau einje gero barriro okingu Boot2Gecko 1.0.1.0-prerelease bertsiñue.

Ba hau da dana, benetan eskerrik asko hauneri artiste bidxeri:

https://twitter.com/javaguirre

Eta batezbe:
https://twitter.com/julen

javaguirren blogeko posta:
http://javaguirre.net/2013/05/06/flashing-firefox-os-geeksphone-peak/

Julenen firefox os-en baliabide batzuk:
http://doc.julen.io/f965709cb274c68c600c

geeksphone foroko posta:
http://forum.geeksphone.com/index.php?topic=4723.msg57654#msg57654

Firefox OS konpileteko gide ofiziala:
https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites