├── .github
└── FUNDING.yml
├── 328mk2_pcb.png
├── Blynk.m5b
├── Blynk.m5f
├── Blynk_m5.jpg
├── En-Coreink-V2.pdf
├── IOT with M5Stack 15x23.pdf
├── IOT with M5Stack.pdf
├── Intruder_Alarm.m5f
├── IoTCodeExamples
├── AzureTransmit.m5f
├── EzData (1).m5f
└── readme.rd
├── M5GoENVSen.m5f
├── M5Reaction.m5f
├── MBusCard.zip
├── MBuscard_pcb.jpg
├── NTP_RTC.m5f
├── README.md
├── Screenshot 2019-05-30 at 18.15.48.png
├── Screenshot 2019-06-01 at 19.29.56.png
├── Scrollingtext.m5f
├── Translations
├── English
│ ├── EN_Event.docx
│ ├── EN_P1.docx
│ ├── En-Coreink-V2.pdf
│ ├── Lesson 01 - Power Cable.pages
│ ├── Readme.md
│ └── Units
│ │ └── readme.md
└── Italiano
│ ├── IT_Event.docx
│ ├── IT_P1.docx
│ └── Readme.md
├── UIFlowhandbook.pdf
├── espnow
├── ESP_Now.pdf
├── Project01-Doorbell
│ └── Doorbell.md
├── Project02-PM2.5
│ ├── PM2.5APHUB.m5f
│ ├── PMESONOWSTATION-2.m5f
│ └── readme.md
└── readme.md
├── faderledtest (3).m5f
├── m5burnerror.png
├── main (8).m5f
├── potentialdevider.png
├── quickblockref.pdf
└── rfiddemo.png
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | github: Ajb2k3
4 | patreon: # Replace with a single Patreon username
5 | open_collective: # Replace with a single Open Collective username
6 | ko_fi: # Replace with a single Ko-fi username
7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9 | liberapay: # Replace with a single Liberapay username
10 | issuehunt: # Replace with a single IssueHunt username
11 | otechie: # Replace with a single Otechie username
12 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
13 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
14 |
--------------------------------------------------------------------------------
/328mk2_pcb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ajb2k3/UIFlowHandbook/8dd4c9b72ca3470884d35684029d9f953a841895/328mk2_pcb.png
--------------------------------------------------------------------------------
/Blynk.m5b:
--------------------------------------------------------------------------------
1 | {"category":"Blynk","color":"#23c48e","blocks":["__Blynk_blynk_init","__Blynk_blynk_run","__Blynk_uptime","__Blynk_slider","__Blynk_push_notification"],"jscode":"// Block __Blynk_blynk_init\nvar __Blynk_blynk_init_json = {\n \"previousStatement\": null,\n \"nextStatement\": null,\n \"message0\": \"%1\",\n \"args0\": [\n {\n \"type\": \"field_label\",\n \"text\": \"Blynk init\"\n }\n ],\n \"message1\": \"%1 %2\",\n \"args1\": [\n {\n \"type\": \"field_label\",\n \"text\": \"auth_token\"\n },\n {\n \"type\": \"input_value\",\n \"name\": \"auth_token\"\n }\n ],\n \"colour\": \"#23c48e\"\n};\n\nwindow['Blockly'].Blocks['__Blynk_blynk_init'] = {\n init: function() {\n this.jsonInit(__Blynk_blynk_init_json);\n }\n};\n\nwindow['Blockly'].Python['__Blynk_blynk_init'] = function(block) {\n var auth_token = Blockly.Python.valueToCode(block, 'auth_token', Blockly.Python.ORDER_NONE);\n return `import BlynkLib\nBLYNK_AUTH = ${auth_token}\nblynk = BlynkLib.Blynk(BLYNK_AUTH)\n\n` + \"\\n\";\n};\n\n// Block __Blynk_blynk_run\nvar __Blynk_blynk_run_json = {\n \"previousStatement\": null,\n \"nextStatement\": null,\n \"message0\": \"%1\",\n \"args0\": [\n {\n \"type\": \"field_label\",\n \"text\": \"Blynk run\"\n }\n ],\n \"colour\": \"#23c48e\"\n};\n\nwindow['Blockly'].Blocks['__Blynk_blynk_run'] = {\n init: function() {\n this.jsonInit(__Blynk_blynk_run_json);\n }\n};\n\nwindow['Blockly'].Python['__Blynk_blynk_run'] = function(block) {\n return `blynk.run()` + \"\\n\";\n};\n\n// Block __Blynk_uptime\nvar __Blynk_uptime_json = {\n \"previousStatement\": null,\n \"nextStatement\": null,\n \"message0\": \"%1\",\n \"args0\": [\n {\n \"type\": \"field_label\",\n \"text\": \"Uptime\"\n }\n ],\n \"message1\": \"%1 %2\",\n \"args1\": [\n {\n \"type\": \"field_label\",\n \"text\": \"pin\"\n },\n {\n \"type\": \"field_number\",\n \"value\": 0,\n \"name\": \"pin\"\n }\n ],\n \"message2\": \"%1 %2\",\n \"args2\": [\n {\n \"type\": \"field_label\",\n \"text\": \"x\"\n },\n {\n \"type\": \"field_number\",\n \"value\": 0,\n \"name\": \"x\"\n }\n ],\n \"message3\": \"%1 %2\",\n \"args3\": [\n {\n \"type\": \"field_label\",\n \"text\": \"y\"\n },\n {\n \"type\": \"field_number\",\n \"value\": 0,\n \"name\": \"y\"\n }\n ],\n \"message4\": \"%1 %2\",\n \"args4\": [\n {\n \"type\": \"field_label\",\n \"text\": \"fg_color\"\n },\n {\n \"type\": \"field_input\",\n \"text\": \"\",\n \"spellcheck\": false,\n \"name\": \"fg_color\"\n }\n ],\n \"message5\": \"%1 %2\",\n \"args5\": [\n {\n \"type\": \"field_label\",\n \"text\": \"bg_color\"\n },\n {\n \"type\": \"field_input\",\n \"text\": \"\",\n \"spellcheck\": false,\n \"name\": \"bg_color\"\n }\n ],\n \"colour\": \"#23c48e\"\n};\n\nwindow['Blockly'].Blocks['__Blynk_uptime'] = {\n init: function() {\n this.jsonInit(__Blynk_uptime_json);\n }\n};\n\nwindow['Blockly'].Python['__Blynk_uptime'] = function(block) {\n var pin = block.getFieldValue('pin');\nvar x = block.getFieldValue('x');\nvar y = block.getFieldValue('y');\nvar fg_color = block.getFieldValue('fg_color');\nvar bg_color = block.getFieldValue('bg_color');\n return `@blynk.VIRTUAL_READ(${pin})\ndef v${pin}_read_handler():\n time_val = time.ticks_ms() // 1000\n blynk.virtual_write(${pin}, time_val)\n lcd.textClear(${x}, ${y}, ' ', lcd.${bg_color})\n lcd.print(time_val, ${x}, ${y}, lcd.${fg_color})\n\n` + \"\\n\";\n};\n\n// Block __Blynk_slider\nvar __Blynk_slider_json = {\n \"previousStatement\": null,\n \"nextStatement\": null,\n \"message0\": \"%1\",\n \"args0\": [\n {\n \"type\": \"field_label\",\n \"text\": \"Slider\"\n }\n ],\n \"message1\": \"%1 %2\",\n \"args1\": [\n {\n \"type\": \"field_label\",\n \"text\": \"pin\"\n },\n {\n \"type\": \"field_number\",\n \"value\": 0,\n \"name\": \"pin\"\n }\n ],\n \"message2\": \"%1 %2\",\n \"args2\": [\n {\n \"type\": \"field_label\",\n \"text\": \"x\"\n },\n {\n \"type\": \"field_number\",\n \"value\": 0,\n \"name\": \"x\"\n }\n ],\n \"message3\": \"%1 %2\",\n \"args3\": [\n {\n \"type\": \"field_label\",\n \"text\": \"y\"\n },\n {\n \"type\": \"field_number\",\n \"value\": 0,\n \"name\": \"y\"\n }\n ],\n \"message4\": \"%1 %2\",\n \"args4\": [\n {\n \"type\": \"field_label\",\n \"text\": \"fg_color\"\n },\n {\n \"type\": \"field_input\",\n \"text\": \"\",\n \"spellcheck\": false,\n \"name\": \"fg_color\"\n }\n ],\n \"message5\": \"%1 %2\",\n \"args5\": [\n {\n \"type\": \"field_label\",\n \"text\": \"bg_color\"\n },\n {\n \"type\": \"field_input\",\n \"text\": \"\",\n \"spellcheck\": false,\n \"name\": \"bg_color\"\n }\n ],\n \"colour\": \"#23c48e\"\n};\n\nwindow['Blockly'].Blocks['__Blynk_slider'] = {\n init: function() {\n this.jsonInit(__Blynk_slider_json);\n }\n};\n\nwindow['Blockly'].Python['__Blynk_slider'] = function(block) {\n var pin = block.getFieldValue('pin');\nvar x = block.getFieldValue('x');\nvar y = block.getFieldValue('y');\nvar fg_color = block.getFieldValue('fg_color');\nvar bg_color = block.getFieldValue('bg_color');\n return `@blynk.VIRTUAL_WRITE(${pin})\ndef v${pin}_write_handler(value):\n lcd.textClear(${x}, ${y}, ' ', lcd.${bg_color})\n lcd.print('{}'.format(value).strip(\"['']\"), ${x}, ${y}, lcd.${fg_color}, transparent=True, fixedwidth=True)\n\n` + \"\\n\";\n};\n\n// Block __Blynk_push_notification\nvar __Blynk_push_notification_json = {\n \"previousStatement\": null,\n \"nextStatement\": null,\n \"message0\": \"%1\",\n \"args0\": [\n {\n \"type\": \"field_label\",\n \"text\": \"Push Notification\"\n }\n ],\n \"message1\": \"%1 %2\",\n \"args1\": [\n {\n \"type\": \"field_label\",\n \"text\": \"pin\"\n },\n {\n \"type\": \"field_number\",\n \"value\": 0,\n \"name\": \"pin\"\n }\n ],\n \"message2\": \"%1 %2\",\n \"args2\": [\n {\n \"type\": \"field_label\",\n \"text\": \"text\"\n },\n {\n \"type\": \"input_value\",\n \"name\": \"text\"\n }\n ],\n \"colour\": \"#23c48e\"\n};\n\nwindow['Blockly'].Blocks['__Blynk_push_notification'] = {\n init: function() {\n this.jsonInit(__Blynk_push_notification_json);\n }\n};\n\nwindow['Blockly'].Python['__Blynk_push_notification'] = function(block) {\n var pin = block.getFieldValue('pin');\nvar text = Blockly.Python.valueToCode(block, 'text', Blockly.Python.ORDER_NONE);\n return `@blynk.VIRTUAL_WRITE(${pin})\ndef v${pin}_write_handler(value):\n if value:\n blynk.notify(${text})\n\n` + \"\\n\";\n};\n\n"}
--------------------------------------------------------------------------------
/Blynk.m5f:
--------------------------------------------------------------------------------
1 | {"components":[{"id":"____screen","createTime":1549146535674,"name":"Screen","x":0,"y":0,"width":320,"height":240,"backgroundColor":"#000000","backgroundImage":"","type":"screen"},{"id":"____buttonA","createTime":1549146535674,"name":"ButtonA","buttonIndex":0,"x":35,"y":216,"width":64,"height":24,"text":"ButtonA","visibility":false,"type":"button"},{"id":"____buttonB","createTime":1549146535674,"name":"ButtonB","buttonIndex":1,"x":125,"y":216,"width":64,"height":24,"text":"ButtonB","visibility":false,"type":"button"},{"id":"____buttonC","createTime":1549146535674,"name":"ButtonC","buttonIndex":2,"x":215,"y":216,"width":64,"height":24,"text":"ButtonC","visibility":false,"type":"button"},{"id":"nhiC_IJVq93sXdgJ","createTime":1549146612417,"name":"rectangle0","x":0,"y":0,"width":320,"height":140,"borderColor":"#FFFFFF","backgroundColor":"#FFFFFF","type":"rectangle","layer":1},{"id":"iG9qWXTLWV%gN*9+","createTime":1549146630587,"name":"image0","x":51,"y":13,"imagePath":"Blynk_m5.jpg","visibility":true,"type":"image","layer":2},{"id":"w3w#pXg9=@sVx_f7","createTime":1549146655737,"name":"label0","x":25,"y":160,"color":"#FFFFFF","text":"Uptime:","font":"lcd.FONT_DejaVu24","type":"label","layer":3},{"id":"pSI6cqSQYY&3hnhu","createTime":1549146672453,"name":"label1","x":25,"y":200,"color":"#FFFFFF","text":"Slider Value:","font":"lcd.FONT_DejaVu24","type":"label","layer":4}],"units":[],"blockly":"YOUR_AUTH_TOKEN0135161WHITEBLACK1190201WHITEBLACK2Hi Blynk+M5Stack!","Blockly.ButtonEvents":[],"Blockly.Remotes":[],"modules":[]}
--------------------------------------------------------------------------------
/Blynk_m5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ajb2k3/UIFlowHandbook/8dd4c9b72ca3470884d35684029d9f953a841895/Blynk_m5.jpg
--------------------------------------------------------------------------------
/En-Coreink-V2.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ajb2k3/UIFlowHandbook/8dd4c9b72ca3470884d35684029d9f953a841895/En-Coreink-V2.pdf
--------------------------------------------------------------------------------
/IOT with M5Stack 15x23.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ajb2k3/UIFlowHandbook/8dd4c9b72ca3470884d35684029d9f953a841895/IOT with M5Stack 15x23.pdf
--------------------------------------------------------------------------------
/IOT with M5Stack.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ajb2k3/UIFlowHandbook/8dd4c9b72ca3470884d35684029d9f953a841895/IOT with M5Stack.pdf
--------------------------------------------------------------------------------
/Intruder_Alarm.m5f:
--------------------------------------------------------------------------------
1 | {"components":[{"id":"____screen","createTime":1619688532558,"name":"screen","x":0,"y":0,"width":320,"height":240,"backgroundColor":"#222222","backgroundImage":"","type":"screen"},{"id":"____buttonA","createTime":1619688532558,"name":"ButtonA","buttonIndex":0,"x":35,"y":216,"width":64,"height":24,"text":"ButtonA","visibility":false,"type":"button"},{"id":"____buttonB","createTime":1619688532558,"name":"ButtonB","buttonIndex":1,"x":125,"y":216,"width":64,"height":24,"text":"ButtonB","visibility":false,"type":"button"},{"id":"____buttonC","createTime":1619688532558,"name":"ButtonC","buttonIndex":2,"x":215,"y":216,"width":64,"height":24,"text":"ButtonC","visibility":false,"type":"button"},{"id":"xjdcHSHK09%7!zhQ","createTime":1619688697403,"isCoreTwo":false,"isPaper":false,"name":"label0","x":22,"y":101,"color":"#FFFFFF","text":"Text","font":"lcd.FONT_Default","rotation":0,"type":"label","layer":4,"width":null,"height":null,"radius":null}],"type":"core","versions":"Beta","units":[{"id":"9^wCk4WYtY+t*nbx","createTime":1619688535464,"type":"pir","name":"pir1","port":"B","default":["A","B","C","E","Custom"],"user_port":["21","22"],"icon":"pir.png","new_port":"B","new_default":["A","B","C","E","Custom"]},{"id":"hx_1hI5D3`uxEA9G","createTime":1619688598413,"type":"rfid","name":"rfid0","port":"A","default":["A","E","PAHUB","Custom"],"pb_port":[0,1,2,3,4,5],"new_pb_port":"0","user_port":["21","22"],"icon":"rfid.png"}],"hats":[],"blockly":"Alarm_setAlarm_set1EQAlarm_set1EQpir1TRUE1800200Entry_timer0x01100label0Movement detectedEQrfid0TRUEEntry_timerlabel0Alarm DeactivatedAlarm_set0label0Alarm not setEntry_timer","Blockly.Remotes":[],"modules":[]}
--------------------------------------------------------------------------------
/IoTCodeExamples/AzureTransmit.m5f:
--------------------------------------------------------------------------------
1 | {"components":[{"id":"_coretwoscreen","createTime":1645343570490,"name":"screen","x":0,"y":0,"width":320,"height":240,"backgroundColor":"#FFFFFF","backgroundImage":"","type":"screen"},{"id":"____buttonA","createTime":1645343570490,"name":"ButtonA","buttonIndex":0,"x":35,"y":216,"width":64,"height":24,"text":"ButtonA","visibility":false,"type":"button"},{"id":"____buttonB","createTime":1645343570490,"name":"ButtonB","buttonIndex":1,"x":125,"y":216,"width":64,"height":24,"text":"ButtonB","visibility":false,"type":"button"},{"id":"____buttonC","createTime":1645343570490,"name":"ButtonC","buttonIndex":2,"x":215,"y":216,"width":64,"height":24,"text":"ButtonC","visibility":false,"type":"button"},{"id":"fK_uGl5hjj8PXJQ1","createTime":1645345940003,"isCoreTwo":true,"isPaper":false,"name":"label0","x":1,"y":40,"color":"#000","text":"Text","font":"FONT_MONT_14","rotation":0,"type":"label","layer":4,"width":null,"height":null,"radius":null},{"id":"_+AJJe^Oo%`v!cAJ","createTime":1645345943024,"isCoreTwo":true,"isPaper":false,"name":"label1","x":1,"y":69,"color":"#000","text":"Text","font":"FONT_MONT_14","rotation":0,"type":"label","layer":5,"width":null,"height":null,"radius":null},{"id":"151GWtSlEx&Li8NN","createTime":1645345945973,"isCoreTwo":true,"isPaper":false,"name":"label2","x":2,"y":93,"color":"#000","text":"Text","font":"FONT_MONT_14","rotation":0,"type":"label","layer":6,"width":null,"height":null,"radius":null},{"id":"g^M-ZKKq$&RqUmql","createTime":1645345948788,"isCoreTwo":true,"isPaper":false,"name":"label3","x":1,"y":118,"color":"#000","text":"Text","font":"FONT_MONT_14","rotation":0,"type":"label","layer":7,"width":null,"height":null,"radius":null}],"type":"core2","versions":"Beta","units":[{"id":"vrWsurqu#io_68qt","createTime":1645343668923,"hidden":false,"type":"env3","name":"env3_0","port":"A","default":["A","E","PAHUB","Custom"],"pb_port":[0,1,2,3,4,5],"new_pb_port":"0","user_port":["21","22"],"icon":"env3.png"},{"id":"k5l1l!uwvr1nu3Zk","createTime":1645343676041,"hidden":false,"type":"Watering","name":"Watering_0","port":"B","default":["A","B","C","Custom"],"user_port":["21","22"],"icon":"watering.png"}],"hats":[],"blockly":"Watering_000ne004E47B32h0tvli2ykevi+g5bBJ5PFDzSpk58rOfJXKJ6ZEw/G3WygN0uZZ9pw=label0Hello M5env3_0label1Hello M5env3_0label2Hello M5env3_0label3Hello M5Watering_0Pressureenv3_0Temperatureenv3_0Humidityenv3_0MoistureWatering_0500","Blockly.Remotes":[],"Blockly.RemotePlus":[{"id":"__title","blockId":"","createTime":1645343570401,"name":"M5RemoteTitle","dragAndDrop":false,"resizable":false,"options":{"minWidth":1,"minHeight":1,"maxWidth":6,"maxHeight":10,"defaultWidth":2,"defaultHeight":1},"w":2,"h":1,"bgColor":"#0080FF","color":"#fff","fontsize":"M","label":"M5Remote","interval":3000,"code":"","event":"","dataSource":"none","ezdataToken":"tG4HkUkwU8MZnaowN8aGKBOgDCXajAD9","topic":"","needShadow":false,"type":"title","x":null,"y":null}],"modules":[]}
--------------------------------------------------------------------------------
/IoTCodeExamples/EzData (1).m5f:
--------------------------------------------------------------------------------
1 | {"components":[{"id":"_coretwoscreen","createTime":1645343570490,"name":"screen","x":0,"y":0,"width":320,"height":240,"backgroundColor":"#FFFFFF","backgroundImage":"","type":"screen"},{"id":"____buttonA","createTime":1645343570490,"name":"ButtonA","buttonIndex":0,"x":35,"y":216,"width":64,"height":24,"text":"ButtonA","visibility":false,"type":"button"},{"id":"____buttonB","createTime":1645343570490,"name":"ButtonB","buttonIndex":1,"x":125,"y":216,"width":64,"height":24,"text":"ButtonB","visibility":false,"type":"button"},{"id":"____buttonC","createTime":1645343570490,"name":"ButtonC","buttonIndex":2,"x":215,"y":216,"width":64,"height":24,"text":"ButtonC","visibility":false,"type":"button"},{"id":"fK_uGl5hjj8PXJQ1","createTime":1645345940003,"isCoreTwo":true,"isPaper":false,"name":"label0","x":1,"y":40,"color":"#000","text":"Text","font":"FONT_MONT_14","rotation":0,"type":"label","layer":4,"width":null,"height":null,"radius":null},{"id":"_+AJJe^Oo%`v!cAJ","createTime":1645345943024,"isCoreTwo":true,"isPaper":false,"name":"label1","x":1,"y":69,"color":"#000","text":"Text","font":"FONT_MONT_14","rotation":0,"type":"label","layer":5,"width":null,"height":null,"radius":null},{"id":"151GWtSlEx&Li8NN","createTime":1645345945973,"isCoreTwo":true,"isPaper":false,"name":"label2","x":2,"y":93,"color":"#000","text":"Text","font":"FONT_MONT_14","rotation":0,"type":"label","layer":6,"width":null,"height":null,"radius":null},{"id":"g^M-ZKKq$&RqUmql","createTime":1645345948788,"isCoreTwo":true,"isPaper":false,"name":"label3","x":1,"y":118,"color":"#000","text":"Text","font":"FONT_MONT_14","rotation":0,"type":"label","layer":7,"width":null,"height":null,"radius":null}],"type":"core2","versions":"Beta","units":[{"id":"vrWsurqu#io_68qt","createTime":1645343668923,"hidden":false,"type":"env3","name":"env3_0","port":"A","default":["A","E","PAHUB","Custom"],"pb_port":[0,1,2,3,4,5],"new_pb_port":"0","user_port":["21","22"],"icon":"env3.png"},{"id":"k5l1l!uwvr1nu3Zk","createTime":1645343676041,"hidden":false,"type":"Watering","name":"Watering_0","port":"B","default":["A","B","C","Custom"],"user_port":["21","22"],"icon":"watering.png"}],"hats":[],"blockly":"Watering_00label0Hello M5env3_0label1Hello M5env3_0label2Hello M5env3_0label3Hello M5Watering_0500LTWatering_0100Watering_01Watering_00","Blockly.Remotes":[],"Blockly.RemotePlus":[{"id":"__title","blockId":"","createTime":1645343570401,"name":"M5RemoteTitle","dragAndDrop":false,"resizable":false,"options":{"minWidth":1,"minHeight":1,"maxWidth":6,"maxHeight":10,"defaultWidth":2,"defaultHeight":1},"w":2,"h":1,"bgColor":"#0080FF","color":"#fff","fontsize":"M","label":"M5Remote","interval":3000,"code":"","event":"","dataSource":"none","ezdataToken":"tG4HkUkwU8MZnaowN8aGKBOgDCXajAD9","topic":"","needShadow":false,"type":"title","x":null,"y":null}],"modules":[]}
--------------------------------------------------------------------------------
/IoTCodeExamples/readme.rd:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/M5GoENVSen.m5f:
--------------------------------------------------------------------------------
1 | {"components":[{"id":"____screen","createTime":1552225667177,"name":"Screen","x":0,"y":0,"width":320,"height":240,"backgroundColor":"#111111","backgroundImage":"","type":"screen"},{"id":"____buttonA","createTime":1552225667177,"name":"ButtonA","buttonIndex":0,"x":35,"y":216,"width":64,"height":24,"text":"ButtonA","visibility":false,"type":"button"},{"id":"____buttonB","createTime":1552225667177,"name":"ButtonB","buttonIndex":1,"x":125,"y":216,"width":64,"height":24,"text":"ButtonB","visibility":false,"type":"button"},{"id":"____buttonC","createTime":1552225667177,"name":"ButtonC","buttonIndex":2,"x":215,"y":216,"width":64,"height":24,"text":"ButtonC","visibility":false,"type":"button"},{"id":"9&+h$jeUhPSAb5uC","createTime":1552225679846,"name":"title0","x":0,"y":0,"width":320,"height":20,"color":"#FFFFFF","backgroundColor":"#0000FF","text":"Title","type":"title","layer":1},{"id":"zTt$+!gNMuliGzYT","createTime":1552226704953,"name":"label0","x":120,"y":32,"color":"#FFFFFF","text":"Text","font":"lcd.FONT_Default","type":"label","layer":2},{"id":"h_fI2i7Z*S8NJxnx","createTime":1552226734442,"name":"label1","x":120,"y":105,"color":"#FFFFFF","text":"Text","font":"lcd.FONT_Default","type":"label","layer":3},{"id":"LT3VT^c!Gp+6_my!","createTime":1552226773792,"name":"label2","x":120,"y":168,"color":"#FFFFFF","text":"Text","font":"lcd.FONT_Default","type":"label","layer":4},{"id":"cHL``YFZhkWm#%`T","createTime":1552226806183,"name":"label3","x":120,"y":60,"color":"#FFFFFF","text":"Text","font":"lcd.FONT_Default","type":"label","layer":5},{"id":"_2daf7_3H#-_FR-I","createTime":1552226823975,"name":"label4","x":120,"y":135,"color":"#FFFFFF","text":"Text","font":"lcd.FONT_Default","type":"label","layer":6},{"id":"m5g_9UN6V1Olm4v+","createTime":1552226836309,"name":"label5","x":120,"y":207,"color":"#FFFFFF","text":"Text","font":"lcd.FONT_Default","type":"label","layer":7}],"units":[{"id":"ysnI$`7*BZ@oEmmy","createTime":1552226876040,"type":"env","name":"env0","port":"A","icon":"env.png"}],"blockly":"title0Environmental Sensortitle0#009900label0Temperaturelabel1Pressurelabel2Humiditylabel3Hello M5env0label4Hello M5env0label5Hello M5env0","Blockly.ButtonEvents":[],"Blockly.Remotes":[],"modules":[]}
--------------------------------------------------------------------------------
/M5Reaction.m5f:
--------------------------------------------------------------------------------
1 | {"components":[{"id":"____screen","createTime":1549963776718,"name":"Screen","x":0,"y":0,"width":320,"height":240,"backgroundColor":"#111111","backgroundImage":"","type":"screen"},{"id":"____buttonA","createTime":1549963776719,"name":"ButtonA","buttonIndex":0,"x":35,"y":216,"width":64,"height":24,"text":"Player 1","visibility":true,"type":"button"},{"id":"____buttonB","createTime":1549963776719,"name":"ButtonB","buttonIndex":1,"x":125,"y":216,"width":64,"height":24,"text":"Start","visibility":true,"type":"button"},{"id":"____buttonC","createTime":1549963776719,"name":"ButtonC","buttonIndex":2,"x":215,"y":216,"width":64,"height":24,"text":"Player 2","visibility":true,"type":"button"}],"units":[],"blockly":"1104#FF0000FALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSETRUETRUETRUETRUETRUEFALSEFALSETRUETRUEFALSETRUETRUEFALSEFALSETRUEFALSETRUEFALSETRUEFALSEFALSETRUETRUEFALSETRUETRUEFALSEFALSETRUETRUETRUETRUETRUEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSE1WHILEANDAwasReleasedCwasReleased1AwasPressed#33cc00FALSEFALSEFALSETRUEFALSEFALSEFALSEFALSEFALSETRUETRUEFALSEFALSEFALSEFALSETRUETRUETRUEFALSEFALSEFALSETRUETRUETRUETRUETRUETRUETRUEFALSETRUETRUETRUEFALSEFALSEFALSEFALSEFALSETRUETRUEFALSEFALSEFALSEFALSEFALSEFALSETRUEFALSEFALSEFALSECwasPressed#3366ffFALSEFALSEFALSETRUEFALSEFALSEFALSEFALSEFALSEFALSETRUETRUEFALSEFALSEFALSEFALSEFALSETRUETRUETRUEFALSETRUETRUETRUETRUETRUETRUETRUEFALSEFALSEFALSETRUETRUETRUEFALSEFALSEFALSEFALSETRUETRUEFALSEFALSEFALSEFALSEFALSETRUEFALSEFALSEFALSE1","Blockly.ButtonEvents":[],"Blockly.Remotes":[],"modules":["emoji"]}
--------------------------------------------------------------------------------
/MBusCard.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ajb2k3/UIFlowHandbook/8dd4c9b72ca3470884d35684029d9f953a841895/MBusCard.zip
--------------------------------------------------------------------------------
/MBuscard_pcb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ajb2k3/UIFlowHandbook/8dd4c9b72ca3470884d35684029d9f953a841895/MBuscard_pcb.jpg
--------------------------------------------------------------------------------
/NTP_RTC.m5f:
--------------------------------------------------------------------------------
1 | {"components":[{"id":"_coretwoscreen","createTime":1616931530704,"name":"screen","x":0,"y":0,"width":320,"height":240,"backgroundColor":"#FFFFFF","backgroundImage":"","type":"screen"},{"id":"____buttonA","createTime":1616931530705,"name":"ButtonA","buttonIndex":0,"x":35,"y":216,"width":64,"height":24,"text":"ButtonA","visibility":false,"type":"button"},{"id":"____buttonB","createTime":1616931530705,"name":"ButtonB","buttonIndex":1,"x":125,"y":216,"width":64,"height":24,"text":"ButtonB","visibility":false,"type":"button"},{"id":"____buttonC","createTime":1616931530705,"name":"ButtonC","buttonIndex":2,"x":215,"y":216,"width":64,"height":24,"text":"ButtonC","visibility":false,"type":"button"},{"id":"NZf=_O74iGe1^l2i","createTime":1616931536888,"isCoreTwo":true,"isPaper":false,"name":"label0","x":49,"y":91,"color":"#000","text":"Text","font":"FONT_MONT_14","rotation":0,"type":"label","layer":4,"width":null,"height":null,"radius":null}],"type":"core2","versions":"Beta","units":[],"hats":[],"blockly":"cn.pool.ntp.org0label0FONT_MONT_24label0Hello M5","Blockly.Remotes":[],"modules":[]}
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # UIFlowHandbook
2 | The source for code and sections of documentation for my UIFlow Handbook.
3 | This is for keeping track of all the parts of my handbook for M5Stack UIFlow IDE.
4 |
--------------------------------------------------------------------------------
/Screenshot 2019-05-30 at 18.15.48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ajb2k3/UIFlowHandbook/8dd4c9b72ca3470884d35684029d9f953a841895/Screenshot 2019-05-30 at 18.15.48.png
--------------------------------------------------------------------------------
/Screenshot 2019-06-01 at 19.29.56.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ajb2k3/UIFlowHandbook/8dd4c9b72ca3470884d35684029d9f953a841895/Screenshot 2019-06-01 at 19.29.56.png
--------------------------------------------------------------------------------
/Scrollingtext.m5f:
--------------------------------------------------------------------------------
1 | {"components":[{"id":"____screen","createTime":1559235700914,"name":"Screen","x":0,"y":0,"width":320,"height":240,"backgroundColor":"#222222","backgroundImage":"","type":"screen"},{"id":"____buttonA","createTime":1559235700915,"name":"ButtonA","buttonIndex":0,"x":35,"y":216,"width":64,"height":24,"text":"ButtonA","visibility":false,"type":"button"},{"id":"____buttonB","createTime":1559235700915,"name":"ButtonB","buttonIndex":1,"x":125,"y":216,"width":64,"height":24,"text":"ButtonB","visibility":false,"type":"button"},{"id":"____buttonC","createTime":1559235700915,"name":"ButtonC","buttonIndex":2,"x":215,"y":216,"width":64,"height":24,"text":"ButtonC","visibility":false,"type":"button"},{"id":"mMn`=XwNUtI5&Ylp","createTime":1559235707270,"name":"label1","x":300,"y":121,"color":"#FFFFFF","text":"Text","font":"lcd.FONT_Default","rotation":0,"type":"label","layer":4}],"type":"core","units":[],"blockly":"positionlabel1Hello everyone who uses an M5Stack or M5Stick.label1300121position300label10positionposition-1EQposition0position300","Blockly.ButtonEvents":[],"Blockly.Remotes":[],"modules":[]}
--------------------------------------------------------------------------------
/Translations/English/EN_Event.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ajb2k3/UIFlowHandbook/8dd4c9b72ca3470884d35684029d9f953a841895/Translations/English/EN_Event.docx
--------------------------------------------------------------------------------
/Translations/English/EN_P1.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ajb2k3/UIFlowHandbook/8dd4c9b72ca3470884d35684029d9f953a841895/Translations/English/EN_P1.docx
--------------------------------------------------------------------------------
/Translations/English/En-Coreink-V2.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ajb2k3/UIFlowHandbook/8dd4c9b72ca3470884d35684029d9f953a841895/Translations/English/En-Coreink-V2.pdf
--------------------------------------------------------------------------------
/Translations/English/Lesson 01 - Power Cable.pages:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ajb2k3/UIFlowHandbook/8dd4c9b72ca3470884d35684029d9f953a841895/Translations/English/Lesson 01 - Power Cable.pages
--------------------------------------------------------------------------------
/Translations/English/Readme.md:
--------------------------------------------------------------------------------
1 | This folder is for holding translations of my UIFlow books.
2 | If you are interested in Translating the documents please contact me first.
3 |
4 | To start a translation, fist clone the repository and then under the folder in you clone create a folder for your language. When you complete a translation you need to make a push/pull request.
5 |
6 | English version and Master Version Written by Adam Bryant.
7 | Italian translation written by Gian Luigi Perrella.
8 |
--------------------------------------------------------------------------------
/Translations/English/Units/readme.md:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/Translations/Italiano/IT_Event.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ajb2k3/UIFlowHandbook/8dd4c9b72ca3470884d35684029d9f953a841895/Translations/Italiano/IT_Event.docx
--------------------------------------------------------------------------------
/Translations/Italiano/IT_P1.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ajb2k3/UIFlowHandbook/8dd4c9b72ca3470884d35684029d9f953a841895/Translations/Italiano/IT_P1.docx
--------------------------------------------------------------------------------
/Translations/Italiano/Readme.md:
--------------------------------------------------------------------------------
1 | Questa cartella contiene la versione italiana del manuale su UIFlow di Adam Bryant, tradotto da Gian Luigi Perrella
--------------------------------------------------------------------------------
/UIFlowhandbook.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ajb2k3/UIFlowHandbook/8dd4c9b72ca3470884d35684029d9f953a841895/UIFlowhandbook.pdf
--------------------------------------------------------------------------------
/espnow/ESP_Now.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ajb2k3/UIFlowHandbook/8dd4c9b72ca3470884d35684029d9f953a841895/espnow/ESP_Now.pdf
--------------------------------------------------------------------------------
/espnow/Project01-Doorbell/Doorbell.md:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/espnow/Project02-PM2.5/PM2.5APHUB.m5f:
--------------------------------------------------------------------------------
1 | {"components":[{"id":"_paperscreen","createTime":1617535706646,"name":"screen","x":0,"y":0,"width":270,"height":480,"backgroundColor":"#dadada","backgroundImage":"","type":"screen"},{"id":"1MqX$6LQ+%8L@nhX","createTime":1617535712244,"isCoreInk":false,"isPaper":true,"name":"title0","x":0,"y":0,"width":640,"height":40,"color":"#dadada","backgroundColor":"#272727","text":"Title","textOffset":3,"font":"lcd.FONT_Default","type":"title","layer":4,"radius":null},{"id":"okCH&o&9mYu0VIY+","createTime":1617535716245,"isCoreTwo":false,"isPaper":true,"name":"label0","x":2,"y":916,"color":"#272727","text":"Text","font":"lcd.FONT_DejaVu24","rotation":0,"type":"label","layer":5,"width":null,"height":null,"radius":null},{"id":"V$aI0YNPt-p6xdIo","createTime":1617535720106,"isCoreTwo":false,"isPaper":true,"name":"label1","x":2,"y":215,"color":"#272727","text":"Text","font":"lcd.FONT_DejaVu24","rotation":0,"type":"label","layer":6,"width":null,"height":null,"radius":null},{"id":"5#qQpXHEYPtAl*+n","createTime":1617535723025,"isCoreTwo":false,"isPaper":true,"name":"label2","x":2,"y":289,"color":"#272727","text":"Text","font":"lcd.FONT_DejaVu24","rotation":0,"type":"label","layer":7,"width":null,"height":null,"radius":null}],"type":"paper","versions":"Beta","units":[],"hats":[],"blockly":"ST01ADST01DAT6title0Hub Access Pointlabel0Hello M5Mac Address: 5ST01ADST01DATlabel1Hello M5Station 01 Mac Address: ST01ADlabel2Hello M5PM1.0 SPM = ST01DAT","Blockly.Remotes":[],"modules":[]}
--------------------------------------------------------------------------------
/espnow/Project02-PM2.5/PMESONOWSTATION-2.m5f:
--------------------------------------------------------------------------------
1 | {"components":[{"id":"____screen","createTime":1617530834008,"name":"screen","x":0,"y":0,"width":320,"height":240,"backgroundColor":"#222222","backgroundImage":"","type":"screen"},{"id":"____buttonA","createTime":1617530834008,"name":"ButtonA","buttonIndex":0,"x":35,"y":216,"width":64,"height":24,"text":"ButtonA","visibility":false,"type":"button"},{"id":"____buttonB","createTime":1617530834008,"name":"ButtonB","buttonIndex":1,"x":125,"y":216,"width":64,"height":24,"text":"ButtonB","visibility":false,"type":"button"},{"id":"____buttonC","createTime":1617530834008,"name":"ButtonC","buttonIndex":2,"x":215,"y":216,"width":64,"height":24,"text":"ButtonC","visibility":false,"type":"button"},{"id":"n`yM2jf6xlf*4iHR","createTime":1617530856756,"isCoreInk":false,"isPaper":false,"name":"title0","x":0,"y":0,"width":320,"height":20,"color":"#FFFFFF","backgroundColor":"#0000FF","text":"Title","textOffset":3,"font":"lcd.FONT_Default","type":"title","layer":4},{"id":"f%9K`wxHj307yI4L","createTime":1617530860065,"isCoreTwo":false,"isPaper":false,"name":"label0","x":0,"y":39,"color":"#FFFFFF","text":"Text","font":"lcd.FONT_Default","rotation":0,"type":"label","layer":5},{"id":"iC12e7VZ7^f@Giz@","createTime":1617530865563,"isCoreTwo":false,"isPaper":false,"name":"label1","x":0,"y":96,"color":"#FFFFFF","text":"Text","font":"lcd.FONT_Default","rotation":0,"type":"label","layer":6},{"id":"xrTeh4Qpn=oPh@X#","createTime":1617530869911,"isCoreTwo":false,"isPaper":false,"name":"label2","x":8,"y":223,"color":"#FFFFFF","text":"Text","font":"lcd.FONT_Default","rotation":0,"type":"label","layer":7},{"id":"cNkvIAHXOiTiCr`S","createTime":1617531216758,"isCoreTwo":false,"isPaper":false,"name":"label3","x":0,"y":125,"color":"#FFFFFF","text":"Text","font":"lcd.FONT_Default","rotation":0,"type":"label","layer":8},{"id":"uO%$h+CyZ1PYR&h1","createTime":1617531220116,"isCoreTwo":false,"isPaper":false,"name":"label4","x":0,"y":150,"color":"#FFFFFF","text":"Text","font":"lcd.FONT_Default","rotation":0,"type":"label","layer":9}],"type":"core","versions":"Beta","units":[],"hats":[],"blockly":"cn.pool.ntp.org03c:61:05:08:2f:451title0PM2.5 Stationlabel0Hello M5-label1Hello M5PM1.0 SPM = pm1_0factorylabel3Hello M5PM2.5 SPM = pm2_5factorylabel4Hello M5PM10 SPM = pm10factorylabel2Hello M5MAC Address: pm1_0factoryGTEpm1_0factory6title0#ff6600title0#009900","Blockly.Remotes":[],"modules":[]}
--------------------------------------------------------------------------------
/espnow/Project02-PM2.5/readme.md:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/espnow/readme.md:
--------------------------------------------------------------------------------
1 | Project source files for the ESP-NOW document.
2 |
--------------------------------------------------------------------------------
/faderledtest (3).m5f:
--------------------------------------------------------------------------------
1 | {"components":[{"id":"_coretwoscreen","createTime":1633865874966,"name":"screen","x":0,"y":0,"width":320,"height":240,"backgroundColor":"#FFFFFF","backgroundImage":"","type":"screen"},{"id":"____buttonA","createTime":1633865874966,"name":"ButtonA","buttonIndex":0,"x":35,"y":216,"width":64,"height":24,"text":"ButtonA","visibility":false,"type":"button"},{"id":"____buttonB","createTime":1633865874966,"name":"ButtonB","buttonIndex":1,"x":125,"y":216,"width":64,"height":24,"text":"ButtonB","visibility":false,"type":"button"},{"id":"____buttonC","createTime":1633865874966,"name":"ButtonC","buttonIndex":2,"x":215,"y":216,"width":64,"height":24,"text":"ButtonC","visibility":false,"type":"button"},{"id":"nqPwOcu0i9KRWyKZ","createTime":1633875767811,"isCoreTwo":true,"isPaper":false,"name":"label0","x":15,"y":83,"color":"#000","text":"Text","font":"FONT_MONT_14","rotation":0,"type":"label","layer":4,"width":null,"height":null,"radius":null}],"type":"core2","versions":"Beta","units":[{"id":"j67ZybpuKhCZgC#@","createTime":1633875916363,"type":"fader","name":"fader_1","port":"A","default":["A","B","C","Custom"],"user_port":["21","22"],"icon":"FADER.png","new_port":"A","new_default":["A","B","C","Custom"]}],"hats":[],"blockly":"label0Hello M5fader_1ANDGTEfader_10LTEfader_113000fader_1702550fader_1802550fader_17000fader_18000ANDGTEfader_113050LTEfader_127000fader_1602550fader_1902550fader_16000fader_19000ANDGTEfader_127050LTEfader_133000fader_1502550fader_11002550fader_15000fader_110000ANDGTEfader_133000LTEfader_136000fader_1402550fader_11102550fader_14000fader_111000ANDGTEfader_136050LTEfader_140000fader_1302550fader_11202550fader_13000fader_112000ANDGTEfader_140050LTEfader_147000fader_1202550fader_11302550fader_12000fader_113000ANDGTEfader_147050LTEfader_166000fader_1102550fader_11402550fader_11000fader_114000","Blockly.Remotes":[],"Blockly.RemotePlus":[{"createTime":1633865866419,"name":"M5Remote","dragAndDrop":false,"resizable":false,"color":"#fff","bgColor":"#0080FF","type":"title","id":"__title"}],"modules":[]}
--------------------------------------------------------------------------------
/m5burnerror.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ajb2k3/UIFlowHandbook/8dd4c9b72ca3470884d35684029d9f953a841895/m5burnerror.png
--------------------------------------------------------------------------------
/main (8).m5f:
--------------------------------------------------------------------------------
1 | {"components":[{"id":"____screen","createTime":1567706698023,"name":"Screen","x":0,"y":0,"width":120,"height":240,"backgroundColor":"#111111","backgroundImage":"","type":"screen"},{"id":"W0H`ba@e0rVL7jLN","createTime":1567706857839,"name":"label0","x":27,"y":79,"color":"#FFFFFF","text":"Text","font":"lcd.FONT_Default","rotation":0,"type":"label","layer":4,"width":null,"height":null,"radius":null}],"type":"stick-C","versions":"Beta","units":[],"hats":[],"blockly":"label0Hello M5","Blockly.Remotes":[],"modules":["imu"]}
--------------------------------------------------------------------------------
/potentialdevider.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ajb2k3/UIFlowHandbook/8dd4c9b72ca3470884d35684029d9f953a841895/potentialdevider.png
--------------------------------------------------------------------------------
/quickblockref.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ajb2k3/UIFlowHandbook/8dd4c9b72ca3470884d35684029d9f953a841895/quickblockref.pdf
--------------------------------------------------------------------------------
/rfiddemo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ajb2k3/UIFlowHandbook/8dd4c9b72ca3470884d35684029d9f953a841895/rfiddemo.png
--------------------------------------------------------------------------------