Utilisez le programme d'exemple data_model_basic_demo pour simuler un lampadaire et le connecter à IoT Platform via le SDK C.
Remarques importantes
Les étapes décrites dans cette rubrique sont effectuées en tant qu'utilisateur standard. Si une opération nécessite des droits d'administrateur, préfixez la commande par sudo.
Préparer l'environnement de développement
Le SDK C côté appareil s'exécute sous Linux. Compilez-le dans un environnement Ubuntu 16.04 64 bits.
-
Logiciels requis :
make 4.1 ou version ultérieure, gcc 5.4.0 ou version ultérieure.
Commande d'installation :
sudo apt-get install -y build-essential make gcc
Procédure
-
Téléchargez le SDK C pour les appareils : C SDK 4.x.
-
Décompressez le fichier du SDK C et modifiez les informations du certificat de l'appareil.
Téléchargez data_model_basic_demo.c et utilisez-le pour remplacer le fichier situé dans
\LinkSDK\demos. Mettez à jour les paramètres suivants :char *product_key = "a2***"; char *device_name = "device1"; char *device_secret = "8c684ef***"; ... ... char *mqtt_host = "a2***.iot-as-mqtt.cn-shanghai.aliyuncs.com";Paramètre
Exemple
Description
mqtt_host
-
Nouvelles instances publiques :
iot-cn-***.mqtt.iothub.aliyuncs.com -
Anciennes instances publiques :
a2***.iot-as-mqtt.cn-shanghai.aliyuncs.com
Endpoint d'ingestion MQTT pour l'appareil.
-
Nouvelles instances publiques : sur la page Instance Details, cliquez sur View Development Configurations. L'endpoint s'affiche dans le panneau Development Configurations.
-
Anciennes instances publiques : le format de l'endpoint est
${YourProductKey}.iot-as-mqtt.${YourRegionId}.aliyuncs.com.
product_key
a2***Certificat de l'appareil enregistré lors de son ajout.
Vous pouvez également consulter le certificat sur la page Device Details dans la console IoT Platform. Obtenir un certificat d'appareil.
device_name
device1device_secret
8c684ef*** -
-
Sur la machine virtuelle Linux, installez les logiciels requis.
sudo apt-get install -y build-essential make gcc Téléversez le répertoire
LinkSDKmodifié sur votre machine virtuelle Linux.-
Dans le répertoire racine du SDK
/LinkSDK, exécutez la commandemakepour compiler le programme d'exemple.make clean makeLe binaire compilé
data-model-basic-demose trouve dans./output. -
Exécutez le programme d'exemple.
./output/data-model-basic-demoSortie attendue :
root@xxx:~/linkSDK# ./output/data-model-basic-demo [1637041632.700][LK-0313] MQTT user calls aiot_mqtt_connect api, connect [1637041632.700][LK-032A] mqtt host: axxx.iot-as-mqtt.cn-shanghai.aliyuncs.com [1637041632.700][LK-0317] user name: device1&axxx,0 [1637041632.700][LK-0318] password: 86761xxx¥21D establish tcp connection with server(host='axxx.iot-as-mqtt.cn-shanghai.aliyuncs.com', port=[443]) success to establish tcp, fd=3 local port: 35604 [1637041632.711][LK-1000] establish mbedtls connection with server(host='axxx.iot-as-mqtt.cn-shanghai.aliyuncs.com', port=[443]) [1637041632.766][LK-1000] success to establish mbedtls connection, (cost 45252 bytes in total, max used 47988 bytes) [1637041632.811][LK-0313] MQTT connect success in 108 ms AIOT_MQTTEVT_CONNECT [1637041632.811][LK-0309] pub: /sys/axxx/device1/thing/event/property/post [LK-030A] > 7B 22 69 64 22 3A 22 31 22 2C 22 76 65 72 73 69 | {"id":"1","versi [LK-030A] > 6F 6E 22 3A 22 31 2E 30 22 2C 22 70 61 72 61 6D | on":"1.0","param [LK-030A] > 73 22 3A 7B 22 4C 69 67 68 74 43 75 72 72 65 6E | s":{"LightCurren [LK-030A] > 74 22 3A 20 31 2E 35 7D 2C 22 73 79 73 22 3A 7B | t": 1.5},"sys":{ [LK-030A] > 22 61 63 6B 22 3A 31 7D 7D | "ack":1}} [1637041632.833][LK-0309] pub: /sys/axxx/device1/thing/event/property/post_reply [LK-030A] < 7B 22 63 6F 64 65 22 3A 32 30 30 2C 22 64 61 74 | {"code":200,"dat [LK-030A] < 61 22 3A 7B 7D 2C 22 69 64 22 3A 22 31 22 2C 22 | a":{},"id":"1"," [LK-030A] < 6D 65 73 73 61 67 65 22 3A 22 73 75 63 63 65 73 | message":"succes [LK-030A] < 73 22 2C 22 6D 65 74 68 6F 64 22 3A 22 74 68 69 | s","method":"thi [LK-030A] < 6E 67 2E 65 76 65 6E 74 2E 70 72 6F 70 65 72 74 | ng.event.propert [LK-030A] < 79 2E 70 6F 73 74 22 2C 22 76 65 72 73 69 6F 6E | y.post","version [LK-030A] < 22 3A 22 31 2E 30 22 7D | ":"1.0"} [1637041632.833][LK-0A08] DM recv generic reply demo_dm_recv_handler, type = 0 msg_id = 1, code = 200, data = {}, message = success -
Dans la console IoT Platform, accédez à la page de l'instance publique. Vérifiez l'état de l'appareil.
Sélectionnez . Sur la page Devices, saisissez
device1dans la zone de recherche DeviceName pour trouver l'appareil cible. Vérifiez que l'état de l'appareil est Online.-
Cliquez sur View dans la colonne Actions. Sur la page Device Details, cliquez sur l'onglet TSL Data, puis sur Running Status.
L'exemple data_model_basic_demo.c rapporte la valeur du courant de fonctionnement.
Dans l'onglet Running Status, la propriété Operating Current affiche une valeur de 1.5 A, ce qui indique que l'appareil a bien rapporté cette valeur de propriété.
Étapes suivantes
Vous pouvez désormais vous abonner aux messages des appareils depuis le serveur.