GPSLogger odsłona czwarta

gpsloggerv4-wip by digi-led
gpsloggerv4-wip a photo by digi-led on Flickr.

Poprzedni GPSLogger był w wersji shielda na Arduino. Postanowiłem temat odkurzyć i zrobić nową mniejsza wersję loggera. Jest nowy moduł GPS, nowe funkcje jak np. sygnalizacja pracy, status połączenia. Zasilane wszystko z baterii.

Płytek jeszcze fizycznie nie mam. Całość powstała na podstawie dokumentacji nowego modułu, więc zanim nie będę miał w łapkach samego modułu, nie zrobię płytek :)

Stay tuned.

Opublikowano w Arduino, Uncategorized | Otagowano jako | Skomentuj

Notatnik: Czytnik RFID na Arduino

Potrzebowałem zrobić czytnik RFID. Wykorzystałem Arduino, czytnik RFID z antenką od Seeedstudio oraz trochę kodu w Pythonie.

Sam czytnik podłączony do pinów 0 i 1 Arduino, dodatkowo dodałem buzer z generatorem w celu detekcji odczytu ID karty. Podłączyłem go po pin 10 Arduino przez rezystor.

RFID na Arduino

Arduino:

	
unsigned char p;
	
boolean printed = 0;
	
void setup()
{
Serial.begin(9600);
Serial.println("RFID");
}
	
void loop()
{
if (Serial.available()>0)
{
p = Serial.read();
if (p == 2)
{
while (p != 3)
{
delay(5);
p = Serial.read();
Serial.print(p);
tone(10, 31, 1000/8);
}
printed = 1;
delay(150);
}
}
if (printed)
{
Serial.println("\n----------");
printed = 0;
}
}
	

Klient:

	
#!/usr/bin/python2
# -*- coding: utf-8 -*-
	
import serial
import re
	
rfid = serial.Serial('/dev/ttyUSB0', 9600)
	
while 1:
raw = rfid.readline().strip()
code = re.search("[0-9]{25}", raw)
if code:
print "ID: ", code.group(0)
	

Wynik:

	
[artek@archbox Desktop]$ ./rfid.py
ID: 48xxxxxxxxxxxxxxxxxxx03
ID: 48xxxxxxxxxxxxxxxxxxx03
ID: 48xxxxxxxxxxxxxxxxxxx03
ID: 52xxxxxxxxxxxxxxxxxxx93
	

 

 

Opublikowano w Arduino, Elektronika, Uncategorized | Otagowano jako , , | Skomentuj

Graficzny LCD od Seeedstudio

Nabyłem graficzny LCD oraz dostosowując bibliotekę glcdlib z jeelabs.org uzyskałem taki efekt :
Glcd from seeedstudio

Uwagi dla przyszłych nabywców. Raster pinów jest nie standardowy, mianowicie 2mm, a nie 2.54mm. Generalnie wyświetlacz doskonały, świetnie nada się na sensnodeGLCD :)

Fork glcdlib dla tego modułu znajduje sie u mnie na githubie https://github.com/artekw/glcdlib

Podłączenie do Arduino:

#define PIN_SID 4 // pin 13 modułu
#define PIN_SCLK 5 // pin 12 modułu
#define PIN_A0 6 //pin 3 modułu
#define PIN_RST 7 //pin 2 modułu
#define PIN_SID 3 // pin 1 modułu

 

Opublikowano w Arduino, Elektronika | Otagowano jako , | 5 Komentarze

Notatnik: Server-Sent Events w bottlepy

Piszę sobie pewna aplikację webową (dla sensnode)  i potrzebuję, aby dane pojawiały się natychmiast bez odświeżania przeglądarki. W tym celu postanowiłem wykorzystać pewna cześć HTML5 - Server-Sent Events oraz świetny lekki web framework – bottlepy. Oto przykład(poszczególne pliki umieszczone w tym samym katalogu):

es.js

	
var source = new EventSource('/event');
source.onmessage = function(e) {
document.body.innerHTML += e.data + '<br>';
}
	

websse.tpl

	
<html>
<head>
<title>{{title}}</title>
<script src="/websse/es.js"></script>
<head>
</body>
</body>
</html>
	

I na końcu aplikacja w bottlepy:

websse.py

	
#!/usr/bin/python2
# -*- coding: utf-8 -*-
	
import time
import datetime
from bottle import *
	
@route('/')
def home():
title = 'Event'
return template('websse', title=title)
	
@route('/event')
def event():
response.headers['content-type'] = 'text/event-stream\n\n'
time = datetime.datetime.now()
return 'data:' + str(time)
	
@route('/websse/:filename#.*#')
def static_js(filename):
return static_file(filename, root='/home/artek/bottle/')
	
run(host='0.0.0.0', port=5000, reloader=True)
	

Ostatecznie uruchamiamy aplikacje (./websse.py) i przechodzimy na http://<ip maszyny>:5000 i widzimy, że czas pokazuje się w kolejnych linijkach, bez odświeżania przeglądarki.

Testowane na Chrome dev.

Opublikowano w Python | Otagowano jako , , , | Skomentuj

sensnode v2 – aktualny stan prac

Zmieniło się trochę od ostatniej publikacji.

  • dodałen Virual USB zgodnie z http://metalab.at/wiki/Metaboard
  • zamieniłem DIP Switch na mniejszy
  • zamieniłem przycisk reset na mniejszy
  • lepiej ułożyłem złącza pinowe
  • rezystory odpowiedzialne za pomiar napięcia solara i baterii mogą być w postaci SMD, gdyż potrzebujemy rezystorów 1% dla poprawnej dokładności pomiarów
  • dodałem wyprowadzenie 5V(tylko gdy zasilanie z USB)
sensnode v2
Opublikowano w Elektronika | Otagowano jako , , , | Skomentuj

Arduino w praktyce: Podświetlenie altanki

Na działce jest sobie altanka. Czasami chce się posiedzieć przy piwku do późnej nocy, więc warto mieć jakieś oświetlenie. Dlaczego nie zastosować Arduino, jakiś czujnik ruchu oraz pasek taśmy LED ? Tak powstał prosty sterownik taśmy LED z jednym kanałem PWM :)

Czytaj dalej »

Opublikowano w Arduino, Elektronika | Otagowano jako | Skomentuj

sensNodeTX v2 prawie gotowy

Powoli kończę nakładać poprawki na drugą wersję sensNodeTX. Wyłapałem jeden błąd w opisie na PCB przy 1Wire, reszta zmian to nowości :) Tak więc szukuje następujące zmiany:

  • wyrzucam złącze WIND ( sposób pomiaru prędkości może być inny dla innego czujnika niż mój analogowy anemometr )
  • dodaje 4 wolne piny na PCB do własnego wykorzystania, 1 analog, 3 cyfrowe (np:. pomiar ruchu czujką ruchu, pomiar prędkości wiatru)
  • zamieniam kondensatory przewlekane  przy stabilizatorze na SMD ( są mniejsze, lepiej to wygląda, nie zasłania diody LED )
  • dodaje kolejny tranzystor MOSFET do sterowania baterią ( poprawi to wyniki pomiaru baterii )
  • dodaje DC/DC konwerter, pozwoli to zasilić układ z jednej baterii 1.5V, ale wówczas bateria słoneczna nie może ładować tej baterii
  • poprawiam opis na PCB, dodaje opis z drugiej strony (autor, dodatkowy opis złącz, o projekcie)
Tak to wygląda:
EDIT:
sensNodeTX v2 to tak naprawdę WeatherStation, zmiana nazwy wynika dlatego, że można i mierzyć wielkości „nie pogodowe” np. ruch, drgania Tak więc sensNodeTX nada się tam gdzie trzeba coś pomierzyć i wysłać do stacji odbiorczej, analizującej dane.
EDIT2:
Jeżeli są chętni na PCB wersji pierwszej(prototypowej), zapraszam na maila.
Opublikowano w Arduino, Elektronika | Otagowano jako | Skomentuj

easyMSP – LaunchPad bardziej przyjemniejszy

Jakiś czas temu natrafiłem na projekt easyMSP. Nie śledziłem jego rozwoju od jakiegoś czasu, bo sądziłem ze umrze śmiercią naturalna jak kilka pomniejszych, których celem było ułatwienie pracy z LaunchPad’em. Ku mojemu zdziwieniu projekt ma się bardzo dobrze. Dostępna jest już wersja 0.8.3 Beta, a autor ma coraz bardziej ambitne plany. Tak trzymać. W wolnej chwili się mu przyjrzę, gdyż mój LaunchPad oraz Experimental Baord leża i nic nie robią. Trzeba to zmienić! :)

Opublikowano w MSP430 | Otagowano jako | Skomentuj

Switch to our mobile site