Connecting sensors to the cloud

I’ve connected a temperature & humidity sensor, a photoresistor and a LED to an Ethernet shield plugged onto my Arduino Uno.

I’ve used a CoAP library and I’ve created an Arduino sketch. It connects to the internet and sends sensor readings to the cloud.

I may view them in the application or on a dashboard. I can also embed live measurements into an image and show it on any website (as I did with the schematic above).

Dashboard

The schematic and code can be found on GitHub.

Arduino: checking memory footprint

I can check the memory footprint using the avr-size command.

% avr-size microcoap.cpp.elf
  text    data    bss    dec    hex filename
     0   18612	    0	 18612	 48b microcoap.cpp.hex

When I enable the avr format (-C) and provide the microcontroller model, the output becomes more descriptive.

% avr-size -C --mcu=atmega328p microcoap.cpp.elf
AVR Memory Usage
----------------
Device: atmega328p

Program:   18612 bytes (56.8% Full)
(.text + .data + .bootloader)

Data:       2491 bytes (121.6% Full)
(.data + .bss + .noinit)

Nested commands with argparse

Given the following argparse setup:

def foo_bar():
  print('Foobar')

parser = argparse.ArgumentParser(prog='app')
subparsers = parser.add_subparsers()

foo = subparsers.add_parser('foo')
foo_subparsers = foo.add_subparsers()

bar = foo_subparsers.add_parser('bar')
bar.set_defaults(func=foo_bar)

args = parser.parse_args()
args.func(args)

I can invoke the nested sub-command like this:

% app foo bar
Foobar

Rejs po Zatoce Gdańskiej

S/Y Kacyk

W terminie 20.09 - 27.09 odbyliśmy rejs na pokładzie S/Y Kacyk. Jacht przeznaczony jest dla pięciu osób ale my pływaliśmy tylko w trzy, przez co mieliśmy całkiem komfortowe warunki jak na niezbyt dużą jednostkę (9,15m).

Gdańsk - Twierdza Wisłoujście

Rejs rozpoczęliśmy i zakończyliśmy w “marinie” przy Twierdzy Wisłoujście. Miejsce to jest na tyle oddalone od Gdańska, że niektórzy taksówkarze i dyspozytorzy mieli problem z jego lokalizacją. Zaplecze “mariny” jest dosyć minimalistyczne, sanitariaty prawie nie istnieją, brak jakiejkolwiek sklepu, w którym możnaby się zaopatrzyć w produkty spożywcze. Nie byliśmy na to przygotowani dlatego zaraz po odebraniu jacht wyruszyliśmy w kierunku Gdyni.

Gdynia

Gdynia

Marina jachtowa jest zlokalizowana bardzo blisko atrakcji turystycznych i centrum. Wszystko dobrze zorganizowane, zaplecze w porządku.

Puck

Puck

Przystań w Pucku jest już chyba całkiem zapomniana a przynajmniej tak wygląda. Bosmana po 16-tej trudno znaleźć a sanitariaty dostępne są tylko w godzinach “urzędowania”. Gdy już rano udało nam się skorzystać z pryszniców, nie było to zbytnio przyjemne doświadczenie. Prysznice uruchamiane są przez psujące się automaty, które przyjmują tylko pojedyncze “złotówki”. Czas działania był bardzo krótki a woda lodowata. Na kei, przy której cumowaliśmy “alongside”, działa tylko jeden punkt z prądem więc żeby się podpiąć trzeba się było dobrze ustawić albo posiadać odpowiednio długi przedłużacz - niestety nie spełniliśmy żadnego z tych warunków dlatego tego wieczora musieliśmy oszczędnie gospodarować energią elektryczną.

Jastarnia

Bardzo przyjemna marina, odnowiona ze środków Unii Europejskiej. Łatwy dostęp do prądu ale trzeba posiadać wąż aby nabrać słodkiej wody. Sanitariaty w porządku, ciepła woda po prysznicem (coś czego bardzo mi brakowało po wizycie w Pucku). Wyjątkowym dziwactwem była specjalna opłata za skorzystanie z WC, połowa ceny za skorzystanie z prysznica. Domyślam się, że przystań wykonuje biznesplan inwestycji unijnej ale w sytuacji gdy opłata za postój nie odbiega od standardowej, dodatkowe “opodatkowanie” korzystania z toalety wydaję się lekką przesadą.

W Jastarni przeczekiwaliśmy ostrzeżenia o sztormie na Bałtyku i wybraliśmy się na wycieczkę busem do Helu. Zdarzyliśmy na karmienie podopiecznych fokarium i wspieliśmy się na latarnię morską.

Władysławowo

Prawdziwie morski port rybacki gdzie przystań jachtowa jest tylko dodatkiem. Od czasu do czasu przypływały kutry i wyładowywały połów.

Marina mała ale całkiem przyjemna, zaplecze w porządku. Popełniliśmy małą gafę próbując dokonać opłaty za port w bosmanacie. Okazało się, że trzeba poczekać na osobę zbierającą takie opłaty.

Hel

Hel

Marina w Helu powstała jako część portu rybackiego. Tutaj jednak nie znaleźliśmy spokoju, zafalowanie wewnątrz portu nie pozwalało w nocy w pełni odpocząć. Niestety znalazł się kolejny absurd - po godzinie 23 toalety są zamykane.

Będąc w Helu udaliśmy się z wizytą do pubu Kapitan Morgan. Ku naszej radości po około pół godziny okazało się, że pojawi się szantyman i będziemy mogli trochę pośpiewać. Śpiewniki były dostępne w barze, szantyman śpiewał i grał utwory na żądanie a większość sali pomagała.

Gdańsk - centrum

Gdańsk

Ładna marina w samym centrum. Warunki postoju są bardzo dobre a bliskość centrum daje możliwość korzystania z atrakcji także w nocy. Jedyny minus to odległość jaką trzeba pokonać Martwą Wisła aby tam dotrzeć. Daje to jednak możliwość zobaczenia zaplecza portu, nabrzeży różnych funkcji czy stoczni remontowej.

Long Live the Kings

Legos for the iPad Generation

Bloomberg:

littleBits Founder Ayah Bdeir discusses her opensource library of electronic modules that snap together with tiny magnets for prototyping and play.

This is awesome.

Never Make Counter-Offers

Bram Cohen:

Management figures they’ll save money on salaries by leaving it up to the employees to negotiate for their own pay. So they don’t give raises until someone tries to negotiate for one.

Why the Mythbusters won't do RFID

Why would you want to work at ThoughtWorks

Aaron Erickson:

In many companies, particularly consulting companies, salespeople call the shots, have most of the respect, and take home most of the rewards. Delivery – the “programmers”, are the people who are to be managed, paid as little as possible, and controlled by management.

The Innovators