Il s'agit d'un script pour essayer immédiatement PubSub de AWS IoT Device SDK v2 pour Python pour un petit test. Vous pouvez le faire en quelques lignes sur la CLI. La version Node.js est ici
Il est supposé être défini sur Cloud9. Il est utilisé lorsqu'il est difficile de créer avec un mannequin. Je n'expliquerai pas ce que vous faites. .. De plus, si vous souhaitez simplement envoyer quelques messages manuellement, il est préférable d'utiliser la fonction de test d'IoT Core.
Créez un environnement Cloud9 et placez les éléments suivants dans le répertoire Environnement.
setup.sh
mkdir $THING_NAME
cd $THING_NAME
POLICY_NAME=${THING_NAME}_Policy
aws iot create-thing --thing-name ${THING_NAME}
git clone https://github.com/aws/aws-iot-device-sdk-python-v2.git
pip install ./aws-iot-device-sdk-python-v2
cd aws-iot-device-sdk-python-v2/samples/
wget -O rootca.pem \
https://www.amazontrust.com/repository/AmazonRootCA1.pem
aws iot create-keys-and-certificate --set-as-active \
--certificate-pem-outfile certificate.pem \
--public-key-outfile public_key.pem \
--private-key-outfile private_key.pem \
--query certificateArn
echo -n CERTIFICATE_ARN:
read str
CERTIFICATE_ARN=$str
aws iot create-policy \
--policy-name ${POLICY_NAME} \
--policy-document file://../../../policy.json
aws iot attach-thing-principal \
--thing-name $THING_NAME \
--principal $CERTIFICATE_ARN
aws iot attach-principal-policy \
--policy-name $POLICY_NAME \
--principal $CERTIFICATE_ARN
La politique doit être modifiée en conséquence, mais une fois qu'il y a quelque chose.
policy.json
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action":["iot:*"],
"Resource": ["*"]
}]
}
sudo pip install awsiotsdk
aws iot describe-endpoint --endpoint-type iot:Data-ATS
export ENDPOINT=yourendpoint-ats.iot.ap-northeast-1.amazonaws.com
export THING_NAME=mything
./setup.sh
cd aws-iot-device-sdk-python-v2/samples/
python pubsub.py --endpoint $ENDPOINT --root-ca rootca.pem --cert certificate.pem --key private_key.pem
Lorsque vous essayez avec autre chose, réécrivez THING_NAME et exécutez.