MQTT stands for MQ Telemetry Transport. It
is a publish/subscribe, extremely simple and lightweight messaging protocol,
designed for constrained devices and low-bandwidth, high-latency or unreliable
networks. The design principles are to minimise network bandwidth and device
resource requirements whilst also attempting to ensure reliability and some
degree of assurance of delivery. These principles also turn out to make the
protocol ideal of the emerging “machine-to-machine” (M2M) or “Internet of
Things” world of connected devices, and for mobile applications where bandwidth
and battery power are at a premium.
참가자 중 가장 나이가 어린 참가자인 Syvua와 Joey의 발표도 인기가 있었다. 아래 동영상 참고…
Open Hardware 분야에서 다들 비즈니스를 하는 사람들이라서 다들 비즈니스 모델과 라이센스, copy cat, clone들과의 경쟁등에 관심이 많은 것 같았다. 개인적으로는 이 시장에서는 칩벤더만이 유일하게 손해를 보지 않을 것 같고, 벤더들의 칩을 가지고 Open hardware 제품을 업체의 경우 니치 마켓을 겨냥한 high tech제품 또는 예술적인 부분이 들어간 제품으로 승부를 해야할 것 같다.
즉 아웃룩에서 서식있는 텍스트 형식(RTF)로 메일을 보낼때 이런 경우가 발생을 하는데, 메일을 수신 하는 측에서 RTF를 지원하지 않는 경우에 이것을 보완하기 위해 자신들만의 포맷인 TNEF(Transport Neutral Encapsulation Format)으로 보내기 때문이다.
해결 방법은 보내는 측에 일반 텍스트 형태로 메일을 다시 보내달라는 방법과
winmail.dat를 복구하는 프로그램을 사용하면 된다. 물론 100% 복구되는 지는 잘 모르겠지만, Mac OS X용으로는 TNEF’s Enough가 있다.
import serial, sys, feedparser
#Settings - Change these to match your account details
USERNAME="[email protected]"
PASSWORD="yourpassword"
PROTO="https://"
SERVER="mail.google.com"
PATH="/gmail/feed/atom"
SERIALPORT = "/dev/tty.usbserial-FTDK0P3M" # Change this to your serial port!
# Set up serial port
try:
ser = serial.Serial(SERIALPORT, 9600)
except serial.SerialException:
sys.exit()
newmails = int(feedparser.parse(
PROTO + USERNAME + ":" + PASSWORD + "@" + SERVER + PATH
)["feed"]["fullcount"])
# Output data to serial port
if newmails > 0: ser.write('M')
else: ser.write('N')
# Close serial port
ser.close()
이 코드를 일정한 시간 간격 주기적으로 실행을 하려면, Mac OS X에서는 Launchd가 필요.
Launchd관련 정보 http://zcode.sunji.net/groups/zcode/wiki/4c5b5/launchd__lingon.html