AWS IoT Core + Raspberry Pi + AWS IoT Device SDK for Java [P021]
5) IoT_DataPlatform/Amazon AWS 2018. 6. 15. 21:56AWS IoT Core + Raspberry Pi + AWS IoT Device SDK for Java [P021]
https://www.youtube.com/watch?v=xhVIT6XJ01s
GitHub : https://github.com/rdiot/rdiot-p021
* Parts
- Raspberry Pi2
- Temperature and humidity DHT11 sensor module (KY-015) [S008]
* Contents
1. Sample Test (basic publish)
- install maven3 in pi
- download maven3 : https://fossies.org/linux/misc/apache-maven-3.5.3-bin.tar.gz/
$ tar zxvf apache-maven-3.5.3-bin.tar.gz
$ export PATH=/home/pi/AWSIoT/apache-maven-3.5.3/bin:$PATH
- com.amazonaws.services.iot.client.sample.pubSub.PublishSubscribeSample
- download root ca certificate and install aws device sdk for java
- run pub/sub sample
$ unzip http://connect_device_package.zip
$ ./start.sh
mvn exec:java -pl aws-iot-device-sdk-java-samples -Dexec.mainClass="com.amazonaws.services.iot.client.sample.pubSub.PublishSubscribeSample" -Dexec.args="-clientEndpoint <prefix>.iot.<region>.amazonaws.com -clientId <unique client id> -certificateFile <certificate file> -privateKeyFile <private key file>"
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 04:15 min
[INFO] Finished at: 2018-06-01T13:43:37Z
[INFO] ------------------------------------------------------------------------
Running pub/sub sample application...
[INFO] Scanning for projects...
[INFO] Inspecting build with total of 1 modules...
[INFO] Installing Nexus Staging features:
[INFO] ... total of 1 executions of maven-deploy-plugin replaced with nexus-staging-maven-plugin
[INFO]
[INFO] -----------< com.amazonaws:aws-iot-device-sdk-java-samples >------------
[INFO] Building aws-iot-device-sdk-java-samples 1.1.1
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- exec-maven-plugin:1.6.0:java (default-cli) @ aws-iot-device-sdk-java-samples ---
Cert file:../RaspberryPi.cert.pem Private key: ../RaspberryPi.private.key
Jun 01, 2018 1:43:59 PM com.amazonaws.services.iot.client.core.AwsIotConnection onConnectionSuccess
INFO: Connection successfully established
Jun 01, 2018 1:43:59 PM com.amazonaws.services.iot.client.core.AbstractAwsIotClient onConnectionSuccess
INFO: Client connection active: sdk-java
1527860639952: >>> hello from blocking publisher - 1
1527860639952: >>> hello from non-blocking publisher - 1
1527860639973: <<< hello from blocking publisher - 1
1527860639989: <<< hello from non-blocking publisher - 1
1527860640953: >>> hello from non-blocking publisher - 2
1527860640964: >>> hello from blocking publisher - 2
1527860640995: <<< hello from non-blocking publisher - 2
1527860641042: <<< hello from blocking publisher - 2
1527860641953: >>> hello from non-blocking publisher - 3
1527860641979: <<< hello from non-blocking publisher - 3
2. Develop
- Requirements : +java1.7, aws-iot-device-sdk-java 1.1.1, Jackson 2.x, Paho MQTT client for Java 1.1.x, pi4j
- Install the SDK using Maven
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-iot-device-sdk-java</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-iot-device-sdk-java-samples</artifactId>
<version>1.1.1</version>
</dependency>
- source : https://github.com/rdiot/rdiot-p021/blob/master/src/main/java/com/rdiot/awsiot/App.java
3. Setup AWS IoT Core
4. Package Download
5. AWS IoT Rule Setup
- Rule Name : email_notification
- Description : when temperature is over 30 degrees.
- Rule Query : SELECT temperature as t, humidity as h FROM 'sensor/dht11' WHERE temperature > 30
- Actions
1) SNS : sendEmail
2) Republish : sensor/dht11/over30
6. run application
$ java -Dpi4j.linking=dynamic -jar awsiot-0.0.1-SNAPSHOT.jar (run.sh)
7. Monitoring
8. Action Check over 30 degrees
- republish to sensor/dht11/over30
- notification sns : email
- Reference
GitHub AWS IoT Device SDK for Java : https://github.com/aws/aws-iot-device-sdk-java/blob/master/README.md
API Document : http://aws-iot-device-sdk-java-docs.s3-website-us-east-1.amazonaws.com/
Sample Code : https://github.com/aws/aws-iot-device-sdk-java/blob/master/aws-iot-device-sdk-java-samples/src/main/java/com/amazonaws/services/iot/client/sample/pubSub/PublishSubscribeSample.java
'5) IoT_DataPlatform > Amazon AWS' 카테고리의 다른 글
S3 Lambda Trigger + Amazon SQS + SQSReceiver + SparkStreaming [P023] (0) | 2018.10.17 |
---|---|
Pi4J + Amazon S3 REST API + S3 Lambda Trigger + DynamoDB [P022] (0) | 2018.06.17 |
Pi4J + Amazon S3 REST API + Amazon Athena [P019] (0) | 2018.04.11 |
Amazon Polly + Google Home + Sonoff wifi [P018] (0) | 2018.04.04 |
Amazon Polly TTS(Text to Speech) [P017] (0) | 2018.03.30 |