Cateva exemple in windows, programare .bat:
@echo off
SET HOST=host
SET TAG_NAME=test/temperatura
SET READ_KEY=123
SET WRITE_KEY=456
cd D:\MyData\Kits\_\curl\curl-7.53.1
:loop
SET VAL=%RANDOM%
echo SET val=%VAL%
curl -k -H "WKEY:%WRITE_KEY%" -H "RKEY:%READ_KEY%" -X GET %HOST%/set/%TAG_NAME%?val1=%VAL%^&val2=123
python -c "import time;time.sleep(1)"
SET VAL=%RANDOM%
curl -k -H "WKEY:%WRITE_KEY%" -H "RKEY:%READ_KEY%" -X POST %HOST%/set/%TAG_NAME% -d val1=%VAL% -d val2=333 -d now="%DATE% %TIME%"
python -c "import time;time.sleep(1)"
goto loop
@echo off
SET HOST=host
SET TAG_NAME=test/temperatura
SET READ_KEY=123
cd D:\MyData\Kits\_\curl\curl-7.53.1
:loop
echo "get cu http get"
curl -k -H "RKEY:%READ_KEY%" -X GET %HOST%/get/%TAG_NAME%
echo.
pause
echo "get cu http post"
curl -k -H "RKEY:%READ_KEY%" -X POST %HOST%/get/%TAG_NAME%
echo.
pause
echo "all cu http get"
curl -k -H "RKEY:%READ_KEY%" -X GET %HOST%/all/%TAG_NAME%?pp^&limit=3
echo.
pause
echo "all cu http post"
curl -k -H "RKEY:%READ_KEY%" -X POST %HOST%/all/%TAG_NAME% -d pp -d limit=3
echo.
pause
goto loop
Cateva exemple pentru shell Unix, testate pe raspberry pi 2:
#!/bin/sh #uptime|awk '{print $3,$4}' sleep 10 while true do #datetime=`date "+%Y, %b %d, %H:%M:%S"` datetime=`python -c 'import time;print int(1000*time.time())'` #temp_int=`cat /sys/class/thermal/thermal_zone0/temp` #temp_float=`python -c "print '{:.1f}'.format(${temp_int}/1000.0)"` temp_float=`echo "scale=1; $(cat /sys/class/thermal/thermal_zone0/temp)/1000" | bc` mem_free=`cat /proc/meminfo|grep MemFree|awk '{print $2}'` uptime=`uptime` num_procs=`ps aux|wc|awk '{print $1}'` #echo $datetime #echo cpu temperature: $temp_float #echo mem free bytes: $mem_free curl -s -k -X POST https://iot.rainbowheart.ro/set/server \ -d datetime="$datetime" -d cputemp=$temp_float \ -d memfree=$mem_free -d uptime="$uptime" \ -d numprocs=$num_procs > /dev/null sleep 29 done
Teste in Lua pe platforma NodeMCU:
-- -- Teste IoT -- -- random function -- local A1, A2 = 727595, 798405 -- 5^17=D20*A1+A2 local D20, D40 = 1048576, 1099511627776 -- 2^20, 2^40 local X1, X2 = 0, 1 function rand() local U = X2*A2 local V = (X1*A2 + X2*A1) % D20 V = (V*D20 + U) % D40 X1 = math.floor(V/D20) X2 = V - X1*D20 return V/D40 end -- /random function -- local mySet = function(HOST, URL, WKEY) local conn=net.createConnection(net.TCP, 1) conn:connect(443,HOST) conn:on("receive", function(c, data) print(data) c:close() end ) conn:on("connection", function(c) print("connected") c:send("GET "..URL.." HTTP/1.1\r\n".. "Host: "..HOST.."\r\n".. "WKEY: "..WKEY.."\r\n".. "Accept: */*\r\n".. "User-Agent: Mozilla/4.0 (compatible; esp8266 Lua;)".. "\r\n\r\n") end ) --conn:on("disconnection", function(conn) print("disconnected") end ) end local myGet = function(HOST, URL) local conn=net.createConnection(net.TCP, 1) conn:connect(443,HOST) conn:on("receive", function(c, data) print("Receive:") print(data) c:close() end ) conn:on("connection", function(c) print("Connected.") c:send("GET "..URL.." HTTP/1.1\r\n".. "Host: "..HOST.."\r\n".. "Accept: */*\r\n".. "User-Agent: Mozilla/4.0 (compatible; esp8266 Lua;)".. "\r\n\r\n") end ) --conn:on("disconnection", function(conn) print("disconnected") end ) end local main = function() collectgarbage() print("Start main. Heap="..node.heap()) local url = "/set/v1?tmr="..tmr.now().. "&heap="..node.heap().."&rand="..rand() mySet("iot.rainbowheart.ro", url, "1234") --myGet("iot.rainbowheart.ro", "/all/v1?limit=3&pp") --myGet("iot.rainbowheart.ro", "/get/v1") collectgarbage() print("End main. Heap="..node.heap()) end main()