Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
富豪的センサーライトを
作ってみた
小西 高之
@leather_sole
光センサー
LED
準備したもの
• Raspberry Pi ( 3 台以上 )
• 光センサー
• LED
• その他いろいろ
Raspberry Pi って知ってますか?
Raspberry Pi :特徴
• Linux が動く
– Java も動く
• 安価
• フィジカルコンピューティング向き
– GPIO
– I2C
構成
ActiveMQ ( Message Broker )
• Protocols
– OpenWire
– AMQP
– STOMP
– REST
– etc.
ActiveMQ ( Message Broker )
<transportConnectors>
<transportConnector name="openwire"
uri="tcp://0.0.0.0:61616”/>
<transpo...
光センサー( Producer )
• Python
• STOMP
– stomp.py ライブラリ
光センサー( Producer )
adc = ADS1x15() #AD コンバータを指定
conn = stomp.Connection([('169.254.0.11', 61613),
('169.254.0.14', 61613)])...
ライト( Consumer )
• Java
– Pi4J
• OpenWire
ライト( Consumer )
private static GpioController gpio;
private static GpioPinDigitalOutput pin;
( )抜粋
gpio = GpioFactory.getI...
センサーライトで不安なこと
センサーライトで不安なこと
• ActiveMQ がハングしないか?
• ActiveMQ との接続が断線しないか?
クラスタ構成
Producer failover
Consumer failover
Broker cluster
<networkConnectors>
<networkConnector uri="static:(tcp://169.254.0.14:61616)"/>
</networkConnectors>
java.naming.provider....
One more thing...
WebSocket
• STOMP
• JavaScript
– Flot
• http://www.flotcharts.org/
まとめ
• 物理マシン!安価!省スペース!
• 組み込みと Java EE の融合?
• ActiveMQ に触ってみよう
Raspberry Pi と
ActiveMQ で作る
センサーライト
小西 高之
@leather_sole
Thanks!
Raspberry PiとActiveMQで作るセンサーライト
Raspberry PiとActiveMQで作るセンサーライト
Raspberry PiとActiveMQで作るセンサーライト
Upcoming SlideShare
Loading in …5
×

Raspberry PiとActiveMQで作るセンサーライト

3,930 views

Published on

Japan JBoss User Group 2013/8/30 勉強会 灼熱のJBoss 発表資料
https://community.jboss.org/groups/japan-jbug

Published in: Technology
  • Sex in your area is here: ♥♥♥ http://bit.ly/39sFWPG ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating for everyone is here: ♥♥♥ http://bit.ly/39sFWPG ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Raspberry PiとActiveMQで作るセンサーライト

  1. 1. 富豪的センサーライトを 作ってみた 小西 高之 @leather_sole
  2. 2. 光センサー LED
  3. 3. 準備したもの • Raspberry Pi ( 3 台以上 ) • 光センサー • LED • その他いろいろ
  4. 4. Raspberry Pi って知ってますか?
  5. 5. Raspberry Pi :特徴 • Linux が動く – Java も動く • 安価 • フィジカルコンピューティング向き – GPIO – I2C
  6. 6. 構成
  7. 7. ActiveMQ ( Message Broker ) • Protocols – OpenWire – AMQP – STOMP – REST – etc.
  8. 8. ActiveMQ ( Message Broker ) <transportConnectors> <transportConnector name="openwire" uri="tcp://0.0.0.0:61616”/> <transportConnector name="amqp" uri="amqp://0.0.0.0:5672”/> <transportConnector name="stomp" uri="stomp://0.0.0.0:61612"/> <transportConnector name="stomp+nio" uri="stomp+nio://0.0.0.0:61613"/> <transportConnector name="ws" uri="ws://0.0.0.0:61614/" /> </transportConnectors> ( )抜粋
  9. 9. 光センサー( Producer ) • Python • STOMP – stomp.py ライブラリ
  10. 10. 光センサー( Producer ) adc = ADS1x15() #AD コンバータを指定 conn = stomp.Connection([('169.254.0.11', 61613), ('169.254.0.14', 61613)]) conn.start() conn.connect() while True: result = adc.readADCSingleEnded(0) conn.send(str(result), destination='/queue/test') ( )抜粋
  11. 11. ライト( Consumer ) • Java – Pi4J • OpenWire
  12. 12. ライト( Consumer ) private static GpioController gpio; private static GpioPinDigitalOutput pin; ( )抜粋 gpio = GpioFactory.getInstance(); pin = gpio.provisionDigitalOutputPin( RaspiPin.GPIO_05, "MyLED",PinState.LOW); Message message = consumer.receive(); String text = ((TextMessage) message).getText(); if (Double.parseDouble(text) > 1000){ pin.high(); } else { pin.low(); }
  13. 13. センサーライトで不安なこと
  14. 14. センサーライトで不安なこと • ActiveMQ がハングしないか? • ActiveMQ との接続が断線しないか?
  15. 15. クラスタ構成
  16. 16. Producer failover Consumer failover Broker cluster
  17. 17. <networkConnectors> <networkConnector uri="static:(tcp://169.254.0.14:61616)"/> </networkConnectors> java.naming.provider.url = failover: (tcp://169.254.0.11:61616,tcp://169.254.0.14:61616) Broker(169.254.0.11): conf/activemq.xml stomp.Connection([('169.254.0.11', 61613),('169.254.0.14', 61613)]) Producer Consumer: jndi.properties
  18. 18. One more thing...
  19. 19. WebSocket • STOMP • JavaScript – Flot • http://www.flotcharts.org/
  20. 20. まとめ • 物理マシン!安価!省スペース! • 組み込みと Java EE の融合? • ActiveMQ に触ってみよう
  21. 21. Raspberry Pi と ActiveMQ で作る センサーライト 小西 高之 @leather_sole
  22. 22. Thanks!

×