App Store – TuttoCittà 1.0 : for iPhone and iPad

…e ora il tuo TuttoCittà diventa APP!

Il pratico e notissimo volumetto che da sempre aiuta gli italiani ad orientarsi – in auto o piedi – tra le strade cittadine si è fatto APP, e lo ha fatto diventando l’app che ti fa vivere a pieno la tua città.

I 39 volumi con le mappe di 350 località si evolvono per coprire tutta l’Italia e stare nel palmo della tua mano!

Grazie alla rapida identificazione della tua posizione, l’app TuttoCittà ti permette di:
• Visualizzare la mappa del luogo e il nome della strada in cui ti trovi, anche in modalità fotografica
• Creare percorsi personalizzati per spostarti in auto o a piedi, guidandoti passo passo fino alla meta
• Trovare l’indirizzo dell’azienda o della persona che cerchi (anche tra i tuoi contatti in rubrica!) ed essere guidato fino a raggiungerla
• Sapere la velocità a cui ti stai muovendo e la quota altimetrica del luogo dove ti trovi

E un aiuto prezioso è la funzione “trovaquì”, con la quale è più facile vivere la tua città, organizzare una serata in giro con gli amici, ma anche risolvere l’imprevisto dell’ultimo minuto.

Grazie al “trovaquì” infatti puoi arricchire la tua mappa con un solo tap per:
• scoprire dove sono gli spettacoli, le mostre, le sagre, i mercatini e gli eventi culturali più vicini a te
• individuare facilmente le farmacie di turno e le aperture festive dei centri commerciali della tua zona!
• trovare su mappa attività come hotel, ristoranti, bed&breakfast; ma anche servizi utili come benzinai, parcheggi, bancomat, ospedali, uffici postali, ecc…

…il tutto con l’affidabilità dei dati di Seat Pagine Gialle

Ma non finisce qui.
L’app TuttoCittà ti regala una funzione davvero utile: con la “sveglia gps” ti basta impostare la destinazione e il raggio d’azione e sarà TuttoCittà – anche con la app in background – ad avvisarti quando sarai nei pressi della tua destinazione! Ma attenzione, l’uso continuativo del GPS da parte della app in background puo’ ridurre in maniera significativa la durata della batteria.
————————————

Avere la città nel palmo della tua mano non è mai stato così facile!

In più, è gratis!


Enjoy downloading:

https://itunes.apple.com/it/app/tutto-citta/id508345696

 

Arduino – Room Spy Email Notificator

Hi nerdz,
today i’ll show you how to easily control remotely your room with a stupid motion detector, a piro sensor (or you can use other sensors, like ultrasonicinfraredlight sensorpressure, etc etc…) and two lines of PHP code and C.

* Useful if you want to know if anyone enter in your room and the time that remains there! *

You can get this sensor from AirWick deo! 😎

How it works?


Your piro sensor, when detect a motion, notify arduino, that was programmed to send to serial port a value (“m” or “n”).
These value are interpreted by a serial reader (c# program, objective-c, java, c++, or somethig else) that call a PHP page that send email if is enabled sending mode.
Second php page, permit you to control arduino (enable/disable/show logs/clear all).

Steps

Connect your piro sensor to arduino, easy way, like this:

After that, write your simple arduino code:

/*
 * Room Spy with Piro sensor
 * (c)2012 - Alberto Pasca
 * www.albertopasca.it
 */
 
int inputPin = 2;    // choose the input pin (for PIR sensor)
int pirState = LOW;  // we start, assuming no motion detected
int val = 0;         // variable for reading the pin status
 
void setup() {
  pinMode(inputPin, INPUT);     // declare sensor as input
  Serial.begin(9600);
}
 
void loop(){
  val = digitalRead(inputPin);  // read input value
  if (val == HIGH) {            // check if the input is HIGH
    if (pirState == LOW) {      // MOTION START
      Serial.println("m");
      pirState = HIGH;
    }
  } else {
    if (pirState == HIGH) {     // MOTION STOP
      Serial.println("n");
      pirState = LOW;
    }
  }
}

Well, test your code, Arduino can able to send to serial “m” or “n”. If do this, you’re ok!


Now write a serial reader (read these (p1 || p2) old post to know how) and call your php page.
Here C# snippet:

try {
  SerialPort port = new SerialPort( "COM9", 9600, Parity.None, 8, StopBits.One );
  port.Open();
  string data = string.empty;
  while ( true ) {
    data = port.ReadLine();
  }
} catch ( Exception ee ) { Console.WriteLine( ee.Message ); }

My Serial Reader, write this output (“ok” or “ko”, based on php output):

Now, i create a control page, that do this simple things.
If enable, write to roomcmd.dat “1″ value, else write “0″. Log and Clear read or clean log file.

if ( $_POST["mode"] == "enable" ) {
    $flog = fopen("roomcmd.dat", "w+"); 
    fwrite($flog, "1");
    fclose($flog);
} else if ( $_POST["mode"] == "disable" ) {
    $flog = fopen("roomcmd.dat", "w+"); 
    fwrite($flog, "0");
    fclose($flog);
} else if ( $_POST["mode"] == "log" ) {
    $msg = file_get_contents("roomspy.txt");
} else if ( $_POST["mode"] == "clear" ) {
    $flog = fopen("roomspy.txt", "w+"); 
    fwrite($flog, "");
    fclose($flog);
}

Last step, is the “mail script” (called from SerialReader), that read values from file “roomcmd.dat” that can contains “0″ or “1″. Decide to send or not notifications.

  $enable = file_get_contents("roomcmd.dat");
  if ( $enable == "1" )
  {
     $now = date("d-m-o h:i:sA");
     $msg = "[Arduino :: $now]\n";

     $flog = fopen("roomspy.txt", "a+"); 
     fwrite($flog, $msg);
     fclose($flog);

     mail("youraddress@example.com",
          "[Arduino] - Something in the way...", 
          $now, 
          "from:Arduino<no -reply@albertopasca.it>");
   echo "ok";
  }
  else echo "ko";

With these two pages, you can able to control your Serial Reader program, that is connected to Arduino and send or not email to your address.

Final circuit with piro sensor connected:

You can use a Wifi Shield or Ethernet Shield or GSM/GPRS Shield to send email.
In this example you need a powered pc connected to Arduino.

In next tutorial, we attach it on a GSM/GPRS Shield.

enjoy as usual!

 

Objective-C: Show dictionary definition on UITextField

By chance i founded this tricks that permit to show a “Dictionary definition” for the selected word in a UITextField on a hidden menu.

Menu contains these actions:

  • cut
  • copy
  • select
  • select all
  • paste
  • suggest
  • definition
  • indent left
  • indent right

It’s a cool tricks, that show an hidden menu with a lot of options, that i never see before!

Watch this:

And this is the dictionary definition for pizza on simulator:

How?

Subclass UITextField and override:

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
  return [super canPerformAction:action withSender:sender];
}

Instead, if you want to block one or more actions from menu, add sel_isEqual

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
  if ( sel_isEqual(action, @selector(paste:)) ) return NO;
  if ( sel_isEqual(action, @selector(copy:)) ) return NO;
  // [...] etc etc

  return [super canPerformAction:action withSender:sender];
}

that’s all!