.: HosiriS :.

Informatica e non solo

Archive for the ‘C/C++’ Category

MeteArduino

Posted by hosiris su dicembre 1, 2011

Analisi iniziale
Il modulo meteo che verrà progettato dovrà soddisfare alcune semplici specifiche:

  • misurarazione di temperatura, pressione e umidità
  • inseririmento automatico dei dati misurati in un database
  • presentazione dei dati in maniera semplice ed intuitiva

La piattaforma di prototipazione che verrà utilizzata sarà Arduino con l’aggiunta di un piccola breadboard per le prime connessioni. La comunicazione tra Arduino e PC avverrà tramite USB.
Sono specifiche di massima, non restrittive, ma scritte solo per dare una linea guida al progetto.

Scelta dei sensori
Per la scelta dei sensori mi sono concentrato maggiormente sul costo degli stessi, in quanto per un progetto casalingo non è richiesta né una grande precisione né molta accuratezza.
Leggi il seguito di questo post »

Annunci

Posted in Arduino, C/C++, IHSys, Javascript, PHP, Progetti Personali, Python, SQL | 1 Comment »

Gestiamo un sensore DHT22 con Arduino

Posted by hosiris su novembre 7, 2011

Tempo fa ho descritto una metodologia che ci permettesse di sfruttare un sensore di temperatura per ottenere delle statistiche sull’andamento di questo parametro.
Al fine di costruire una stazione meteo completa, ho modificato il progetto precedente utilizzando un sensore DHT22 che trova integrati sia un sensore di temperatura che un sensore di umidità.
Leggi il seguito di questo post »

Posted in Arduino, C/C++, Hardware, IHSys, PHP, Progetti Personali | 12 Comments »

Multithreading con Arduino

Posted by hosiris su ottobre 20, 2011

E’ possibile eseguire operazioni in multithread con arduino? Diciamo di no! Perché il nostro piccolo amico non è dotato di scheduler. Allora bisogna trovare il modo di supplire a questa mancanza.
Leggi il seguito di questo post »

Posted in Arduino, C/C++, Hardware, Programmazione | 1 Comment »

Misuriamo la temperatura tramite Arduino

Posted by hosiris su ottobre 3, 2011

Dopo aver introdotto il mio progettino (IHSys) cominciamo con il progettare e realizzare il primo modulo: un misuratore di temperatura.
Leggi il seguito di questo post »

Posted in Arduino, C/C++, Hardware, IHSys, Javascript, PHP, Progetti Personali, Python, temparduino | 1 Comment »

Web framework in C++

Posted by hosiris su dicembre 18, 2010

CppCMS è un framework web gratuito. Differisce dagli altri framework in quanto:

  • E’ progettato per la gestione di grossi carichi
  • Utilizza il C++ come linguaggio
  • E’ rivolto allo sviluppo di siti Web piuttosto che alle applicazioni web “GUI like”

Posted in C/C++, CMS&MVC, Programmazione | Leave a Comment »

Libreria mysql per C

Posted by hosiris su novembre 26, 2010

Per poter interfacciare un programma scritto in C con un database MySQL è necessario utilizzare la libreria mysql.h da inserire all’interno del codice sorgente mediante la classica direttiva #include.

E’ necessario installare le librerie di sviluppo:

$ sudo apt-get install libmysqlclient-dev

Successivamente, occorrerà compilare il sorgente sfruttando gcc e la libreria mysqlclient:

$ sudo gcc -o nome_eseguibile sorgente.c -l mysqlclient

Posted in C/C++, Programmazione | 1 Comment »

Da rete elettrica a batteria: ovvero gestire l’alimentazione del nostro notebook!

Posted by hosiris su maggio 14, 2010

Di certo, in questo post, non parlerò di alimentazione casalinga… bensì mi voglio occupare dell’alimentazione del nostro portatile e con più precisione di come sia possibile rilevare l’evento che ci indica il passaggio da alimentazione da rete elettrica ad alimentazione da batteria.
Nei sistemi *NIX lo stato della batteria è moritorato dal file /proc/acpi/battery/BAT0/state, quindi sarà sufficiente leggere sul quel file ogni tot tempo, tramite impostazione da cron, ed osservare il valore della voce “charging state”. Ho scritto una piccola utility in C che ci aiuta in questo processo:


#include "stdio.h"
#include "stdlib.h"
int main()
{
  char *stringa;
  FILE *battery;
  int end, state;
  battery=fopen("/proc/acpi/battery/BAT0/state", "r");
  if(battery == NULL)
    return 1;
  stringa=calloc(100, sizeof(char));
  if(stringa == NULL)
    return -1;
  do
  {
    end=fscanf(battery, "%s", stringa);
    if(stringa == "charged")
      state = 1;
    if(stringa == "uncharged")
      state = 0;
  }
  while(end != EOF);
  printf("\n");
  printf("Stato: %d", state);
  printf("\n");
  fclose(battery);
  return 0;
}

Spero sia di facile lettura in quanto non facciamo altro che aprire un file, leggerlo, ricercare una determinata stringa ed impostare il valore di una variabile…
Le applicazioni? Ad esempio si potrebbe aggiungere un sistema automatico di invio mail che ci avvisa del passaggio ad alimentazione da batteria.

Posted in C/C++, Programmazione | Leave a Comment »