Changes for page 2 Script
Last modified by Devin Chen on 2025/06/06 14:03
From version 9.1
edited by Jim(Forgotten)
on 2022/07/09 16:48
on 2022/07/09 16:48
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Jim1 +XWiki.Hunter - Content
-
... ... @@ -702,327 +702,4 @@ 702 702 703 703 == **2.5 V-Box connect with AWS platform** == 704 704 705 -=== **Log in AWS** === 706 - 707 -Login aws account and click“Connect an IoT device” 708 - 709 -[[image:图片1.png]] 710 - 711 -[[image:image-20220709163750-4.png]] 712 - 713 -=== **Create policy** === 714 - 715 -Click “Secure”~-~-->“Policies”~-~-->“Create policy”~-~-->Click “Create” 716 - 717 -[[image:image-20220709163750-5.png]] 718 - 719 -Name the policy~-~-->Click “JSON”~-~-->Copy the following content~-~-->Click “Create” 720 - 721 -[[image:image-20220709163750-7.png]] 722 - 723 -[[image:image-20220709163750-6.png]] 724 - 725 -{ 726 - 727 - "Version": "2012-10-17", 728 - 729 - "Statement": [ 730 - 731 - { 732 - 733 - "Effect": "Allow", 734 - 735 - "Action": [ 736 - 737 - "iot:Connect", 738 - 739 - "iot:Publish", 740 - 741 - "iot:Subscribe", 742 - 743 - "iot:Receive", 744 - 745 - "greengrass:Discover" 746 - 747 - ], 748 - 749 - "Resource": "*" 750 - 751 - } 752 - 753 - ] 754 - 755 -} 756 - 757 -=== **Create things** === 758 - 759 -Click “Manage”~-~-->“Things”~-~-->“Create things”~-~-->“Create single thing” 760 - 761 -[[image:image-20220709163750-8.png]] 762 - 763 -[[image:image-20220709163750-9.png]] 764 - 765 -Name the thing~-~-->Click “Next” 766 - 767 -[[image:image-20220709163750-10.png]] 768 - 769 -Select the way to create certificate 770 - 771 -[[image:image-20220709163750-11.png]] 772 - 773 -Select policy 774 - 775 - 776 - 777 - 778 - 779 - 780 - 781 - 782 - 783 - 784 - 785 - 786 -| 787 -| |[[image:image-20220709163750-13.png]] 788 - 789 -1. **Test with MQTT.fx tool** 790 - 791 -Click “View Setting” to get the “Broker Adress” 792 - 793 - 794 -| 795 -| |[[image:image-20220709163750-14.png]] 796 - 797 -| 798 -| |[[image:image-20220709163750-15.png]] 799 - 800 -| 801 -| |[[image:image-20220709163750-16.png]] 802 - 803 -Create one connection in MQTT.fx tool, set broker port as 8883. 804 - 805 -Upload the CA File, Client Certificate File, Client Key File 806 - 807 - 808 -| 809 -| |[[image:image-20220709163750-17.png]] 810 - 811 -Publish message to topic “TEST” 812 - 813 - 814 -| 815 -| |[[image:image-20220709163750-18.png]] 816 - 817 -| 818 -| |[[image:image-20220709163750-19.png]] 819 - 820 -Click”Test”~-~-->”MQTT test client”~-~-->”Subscrible to a topic”, to get message publish from MQTT.fx tool. 821 - 822 -And we can also send message form AWS platform to MQTT.fx tool. 823 - 824 - 825 -| 826 -| |[[image:image-20220709163750-20.png]] 827 - 828 -1. **Configurate in CloudTool** 829 - 830 -Copy the same setting in MQTT.fx to MQTT configuration 831 - 832 - 833 -| 834 -| |[[image:image-20220709163750-21.png]] 835 - 836 - Add a lua script and copy the lua demo into it. 837 - 838 - 839 -| 840 -| |[[image:image-20220709163750-22.png]] 841 - 842 -sprint = print 843 - 844 -~-~-Cloud mode interface to obtain the MQTT information configured by the cloud platform: (5 returns, namely the server address, client ID, connection table, last word table, certificate table) 845 - 846 -local MQTT_URL, MQTT_CLIENTID, MQTT_CFG, MQTT_LWT, MQTT_CART = mqtt.setup_cfg() 847 - 848 -~-~-publish to topics 849 - 850 -local pub_RE_TOPIC = string.format('TEST') 851 - 852 -~-~-Subscribe topics 853 - 854 -local Subscribe_RE_TOPIC1 = string.format('TEST') 855 - 856 -~-~-variable 857 - 858 -local last_time = 0 859 - 860 -~-~-Timing main function 861 - 862 -function aws.main() 863 - 864 - sprint(os.date("%Y-%m-%d %H:%M %S", os.time()) .. " aws.main start") 865 - 866 - if g_mq then 867 - 868 - if g_mq:isconnected() then 869 - 870 - send_Data() 871 - 872 - else 873 - 874 - if os.time() - last_time > 5 then 875 - 876 - last_time = os.time() 877 - 878 - mymqtt_connect() 879 - 880 - end 881 - 882 - end 883 - 884 - else 885 - 886 - mymqtt_init() 887 - 888 - end 889 - 890 - sprint(os.date("%Y-%m-%d %H:%M %S", os.time()) .. " aws.main end") 891 - 892 -end 893 - 894 - 895 -~-~- Initialize MQTT 896 - 897 -function mymqtt_init() 898 - 899 - sprint(string.format("mqtt init mqtt_url:%s mqtt_clientid:%s", MQTT_URL, MQTT_CLIENTID)) 900 - 901 - g_mq, err = mqtt.create(MQTT_URL, MQTT_CLIENTID) ~-~- Create the object and declare it as a global variable 902 - 903 - if g_mq then 904 - 905 - g_mq:on("message", mymqtt_msg_callback) ~-~- Register to receive message callbacks 906 - 907 - sprint("mqtt init success") 908 - 909 - else 910 - 911 - sprint("mqtt init failed:", err) 912 - 913 - end 914 - 915 -end 916 - 917 -~-~- Connect to MQTT server 918 - 919 -function mymqtt_connect() 920 - 921 - sprint("mqtt connecting...") 922 - 923 - local stat, err = g_mq:connect(MQTT_CFG,MQTT_LWT, MQTT_CART) 924 - 925 - if stat == nil then 926 - 927 - sprint("mqtt connect failed:", err) 928 - 929 - return 930 - 931 - else 932 - 933 - sprint("mqtt connected") 934 - 935 - end 936 - 937 - g_mq:subscribe(TEST, 0) 938 - 939 -end 940 - 941 -~-~- Receive MQTT message callback function 942 - 943 -function mymqtt_msg_callback(topic, msg) 944 - 945 - print("topic:",topic) 946 - 947 - print("revdata:",msg) 948 - 949 - local revData = json.decode(msg) 950 - 951 - print (revData) 952 - 953 - if topic == Subscribe_RE_TOPIC1 then ~-~-Process topic information subscribed from the cloud 954 - 955 -if string.match(topic,Subscribe_RE_TOPIC1) then 956 - 957 - ~-~-if revData ~~= nil then 958 - 959 - for k,v in pairs (revData) do 960 - 961 - print("printing revdata after kv here") 962 - 963 - print (k,v) 964 - 965 - end 966 - 967 - print ("current state is",fanstate) 968 - 969 - ~-~-end 970 - 971 -end 972 - 973 -end 974 - 975 -end 976 - 977 - 978 -~-~-Get real-time data 979 - 980 -function getData() 981 - 982 - local jdata = {} 983 - 984 - local addr = bns_get_alldata() 985 - 986 - print(json.encode(addr)) 987 - 988 - for i,v in pairs(addr) do 989 - 990 - if v[2] == 1 then 991 - 992 - jdata[v[3]] = v[4] 993 - 994 - end 995 - 996 - end 997 - 998 - return jdata 999 - 1000 -end 1001 - 1002 -~-~-send data 1003 - 1004 -function send_Data() 1005 - 1006 - local pub_data = 1007 - 1008 - { 1009 - 1010 -123 1011 - 1012 -} 1013 - 1014 -sprint(json.encode(pub_data)) 1015 - 1016 -print("..........",pub_RE_TOPIC) 1017 - 1018 - return g_mq:publish(pub_RE_TOPIC, json.encode(pub_data), 0, 0) 1019 - 1020 -end 1021 - 1022 - 1023 - 1024 -Get message in AWS 1025 - 1026 - 1027 -| 1028 -| |[[image:image-20220709163750-23.png]] 705 +[[https:~~/~~/ftp.we-con.com.cn/Download/WIKI/V-BOX/Demo/AWS/AWS.zip>>https://ftp.we-con.com.cn/Download/WIKI/V-BOX/Demo/AWS/AWS.zip]]