Scientific MicroPython for Microcontrollers and IoT
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Subtitle |
| |
Title of Series | ||
Number of Parts | 611 | |
Author | ||
License | CC Attribution 2.0 Belgium: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/42323 (DOI) | |
Publisher | ||
Release Date | ||
Language | ||
Production Year | 2017 |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
FOSDEM 2017328 / 611
10
14
15
16
17
21
22
24
25
27
31
36
40
42
46
50
55
56
63
70
73
78
84
94
101
102
104
107
108
109
110
111
112
113
114
115
117
119
122
123
126
127
128
130
131
132
135
136
137
138
141
142
144
145
146
150
151
157
158
159
160
162
163
164
166
170
171
173
175
176
177
179
181
184
187
189
191
193
194
199
200
205
207
208
209
211
214
218
219
222
223
224
225
226
229
230
232
234
236
237
238
239
245
248
249
250
251
253
255
257
258
259
260
261
264
265
266
267
268
271
272
275
277
279
280
282
283
284
287
288
290
292
293
297
302
304
305
306
307
309
310
311
312
313
314
316
317
318
319
321
322
327
329
330
331
333
336
338
339
340
341
346
348
349
350
352
354
356
358
362
363
364
367
371
372
373
375
380
384
385
386
387
388
389
390
391
392
393
394
395
398
400
401
402
405
407
409
411
412
413
416
417
418
420
424
425
427
428
429
431
435
438
439
440
441
443
444
446
448
454
459
460
461
462
465
466
468
471
473
477
478
480
483
487
488
489
491
495
498
499
500
501
502
503
504
507
508
510
511
512
514
518
519
520
522
524
526
528
530
531
533
535
536
549
550
554
555
558
560
563
564
573
575
578
579
582
585
586
588
589
590
591
592
593
594
595
596
600
603
604
605
609
00:00
MicrocontrollerComputer programmingWeightInternetworkingSoftwareMIDIExecution unitMaß <Mathematik>Ordinary differential equationGamma functionRadical (chemistry)Maxima and minimaFrame problemEstimationHill differential equationMultiplication signOpen sourceField (computer science)Term (mathematics)Connectivity (graph theory)Projective planeMachine visionWebsiteVideoconferencingKernel (computing)MicrocontrollerFormal grammar2 (number)Revision controlView (database)BitPresentation of a groupSource codeSoftware testingCompass (drafting)PhysicistSoftware bugComputer hardwareImplementationState of matterMereologyOrder (biology)Mathematical optimizationMusical ensembleGame controllerFormal languageMacro (computer science)Total S.A.FirmwareFile formatGoodness of fitWell-formed formulaComputer animationXML
06:07
Moment of inertiaSoftwareWeb browserRadio-frequency identificationSoftwareSmith chartSemiconductor memoryMicrocontrollerSoftware bugMemory managementCodeMultiplication signInheritance (object-oriented programming)XML
07:54
Service (economics)Source code
10:18
Musical ensembleWater vapor
10:55
Maxima and minimaConvex hullMusical ensembleInteractive televisionRevision controlSource codeXML
11:24
Maxima and minimaEndliche ModelltheorieCodeStatisticsCompilation albumDistanceCategory of beingScripting languageError messageoutputCalculationReading (process)Standard deviationComputer fileCompilerPropagation of uncertaintyOperator (mathematics)AnalogyInformationPhysical quantityRevision controlPhysicalismBitDisk read-and-write headFlash memoryType theoryPhysical systemLogical constantWordInternet der DingeMusical ensembleReliefMacro (computer science)Special unitary groupAndroid (robot)Symbol tableFacebookMiniDiscAsynchronous Transfer ModeSource code
18:24
InfinityMaxima and minimaNormed vector spaceSocial classMusical ensembleFreewareSerial portDifferent (Kate Ryan album)CodeBitWhiteboard
19:43
Gamma functionInterior (topology)Host Identity ProtocolComputer fileOrdinary differential equationPressureExecution unitFunction (mathematics)Single-precision floating-point formatAssembly languageInclusion mapMenu (computing)Wireless LANMaxima and minimaGame controllerSpecial unitary groupArmMusical ensembleSoftwareType theoryGradient descentDrop (liquid)Process (computing)SupercomputerPhysicalismMeasurementError messageMathematical modelAsynchronous Transfer ModeScientific modellingProjective planeDependent and independent variablesServer (computing)Fast Fourier transformWhiteboardReading (process)PressureWeb 2.0EstimatorWeb pageSoftware developerSet (mathematics)Software testingMicrocontrollerProbability density functionInternet der DingeSource codeXML
26:13
Computer animation
Transcript: English(auto-generated)
00:00
Good afternoon, it's a pleasure to be here, it's my first time here, I'm from Brazil and I apologize for the presentation is not perfect. I have lost my leverage.
00:29
I'm from Brazil and my leverage was lost during two days. Somehow I also received the components for the demonstration, the material for
00:41
the demonstration and so it was a little bit less than the presentation. At least I'm here, I'm lost about there in the morning, in the afternoon, before, but I'm going to write the video. I'm talking to you about the scientific microbiome for microcontrollers in the IEP.
01:09
I'm a physicist, but I work a lot with the compassion of physicists and I try to use IOT, microcontrollers, programming, using the formalization that's needed for safe source data.
01:36
So I will put a critical view about the many sensors that IOT are making available for billions of
01:46
people, but this data of the sensors should be analyzed in terms of error, precision, how many digits, etc.
02:07
Microphyto is a field in the open source implementation of phyto3, it's not 100% compatible, it's something like 98-99% compatible because it was meant to work with tens, for example, ten gigabytes of the run.
02:39
It's a phyto3, but very optimized, it was created by Daniel George, he's a physicist also, and it was created three, four years ago.
02:56
And he created the bot, the first bot, the language, and there is a community around him, so
03:16
the site of microphyto, there is a test drive, sometimes it is online, really, and there are documentation, etc.
03:32
There is knowledge here for the images, the firmware, for example, for many bugs, Python 1, Python Lite, Wi-Fi, that I'm showing here.
03:54
Well, microphyto, until 2015, had only two bugs, two hardware bugs, bibot and Wi-Fi, Wi-Fi with Wi-Fi.
04:15
Okay, but in the beginning of the last year, you had some releases like it,
04:27
microphyto supported for ESP8266, VDC microbit for more than one million children from the United Kingdom.
04:44
It was given for children of 11 to 12 years old, and you can also buy VDC microbit. Wi-Fi 2, Wi-Fi and Bluetooth, Wi-Fi was the first microcontroller, Wi-Fi, Bluetooth, and LoRa, and it was natively microphyto.
05:14
And the other bugs, SciPy with a sick box, OpenEV, it runs microphyto and has a camera, a little camera, optimized to machine vision.
05:31
How these bugs run microphyto? These two don't run microphyto natively, you have to install microphyto.
05:47
The first bug, this version is a new one, but the first one was almost the same. Wi-Fi, the second bug, Wi-Fi first, the MicroPy project for ESP8266 last year, VDC microbit, and the new kernel.
06:17
And you can develop without installing any software, you can use the browser to develop.
06:26
It's very important for children and parents to have a simple tool to develop. Wi-Fi 2, LoPy, and OpenEV, a new version, I think next month, and
06:55
the older version, so it has very small version, microcontroller with a camera, using MicroPy.
07:05
And the, sorry, I don't have time to rush, the free memory of these bugs is between 80 KB, VDC microbit,
07:24
only 80 KB, to almost 100 KB of Wi-Fi code. So to develop for microphyto is different from developing through Python, because you have your memory constraint, very important.
07:45
And, well, about the demonstration, first I show almost the last one, this microcontroller, this bug is LoPy with a lot of,
08:44
So you can have some kilometers of communication, 20 kilobits per second, approximately, until just some kilometers, depending on the region.
09:09
And VPC microbit, here, excellent price, and it is being used for 1 million children.
09:33
And this year, there will be a microbit for international version, using all the countries, so microbit is now an organization, not only rich.
09:51
And simple to remember when you are one, not in front of a lot of people.
10:55
I will use this, for example, it's very simple to use, I recommend you
11:02
use MicroPyto in the interactive mode, interactive mode, you can also make scripts, of course. So I use a terminal, using USB-C, the connection, to enter in MicroPyto, or the first version, it's a new version of the first version.
11:27
So this kernel, it's zero, MicroPyto, almost the last version, there is a new version in general, and it's not the compiler language, yes, it's Python.
11:49
It's like a microcomputer, running Python almost as a operating system, so it's the dream
12:03
of Python users, only Python, not Linux, not MacOS, not Windows, only Python, almost full Python. And, well, some of the models are already loaded, for example, the 5-word model has a lot of
12:35
some models, for example, information, the type of information of this word, microcontroller, you have here about 100 KB,
13:01
and the flash memory is something about 90 KB, there are some files there, so it shows less. And, yes, you have the user, the version, of the 5-word, and it's very simple to
13:35
read, I'll show a sensor, connected to the ADC, analogical to digital, a property of this word.
13:46
This word has some inputs within 12 bits of the analogical to digital code, and to read the ADC part, it's very simple, it's one line of code.
14:00
Yes, I read the word, because I have here infrared rangefinder of the sharp here, it can measure the distance between 10 to 150 centimeters.
14:39
So, I'll run a script to, okay, and this, what I'd like to show
14:57
that today data is stable, the physical quantity is stable, the reading is not stable.
15:07
You have a lot of noise, all the sensors have noise, all the physical quantities, I'm a physicist, how they measure the physical quantities, quantities in the world have errors, uncertainties, and the IoT community is forgetting this important thing.
15:27
When we are publishing system data, it's important to take into account this, this reality, okay? So, the quantity here is not stable, the distance, okay?
15:44
And I'll run another script to show the statistics of these readings, okay? So, the distance of my hand was 16 centimeters, 17 centimeters, with a standard deviation.
16:07
Without statistics treatment, it was a huge, more than one centimeter, the standard deviation. With physical treatment, removing some peaks, some data not good, it was a loose.
16:28
And now I will show when I increase the distance, when I increase the distance, the error is increased.
17:01
For example, and there I think we'll use it more. So, the error is increased with the distance, it's not the constant.
17:25
Here we import another script with uncertainty calculation. So, I have imported a model, I have created the adapted model, a model, sorry, from byte to micro byte,
17:42
a compilation of uncertainty errors from error propagation. Here, I have to put the head on the stack over here.
18:01
So, we have 70 centimeters, which are available in one centimeter, but if the distance is increased, the error is increased, okay? And this is done by error propagation, set it to propagation.
18:22
It's a code, very simple script. So, this code is a class, and it's possible to run in machines,
18:45
in micro byte boards with free memory, it's not free memory, there's no problem. And this code was not available before.
19:05
Here, I present another board.
19:27
Here, I have ESP8266, microcontrollment, configured with the micro pipe, and the serial port is a little bit different.
19:58
There is a lot of sensor connected here,
20:06
it's a DME280 sensor with pressure, humidity, and temperature. All of them, they have a set of errors. So, I'll show statistics.
20:29
Oh, before. Just to show that this microcontroller has about,
20:40
where is that? It has 28 kilobytes of error, okay? I'll show the reading of the sensor.
21:28
Oh, yes, it's working. So, we have the pressure reading, it has a lot of noise, and I run the same sensor with other configuration,
21:45
because this sensor has many modes of reading, and in this new configuration, the error is a lot smaller. So, it's very important to understand the sensors.
22:03
The PDF of this sensor has about 50 pages. It takes a little time, yes? So, the uncertainty is just four, instead of a very huge one before. And the web server running on this micro pipe mode,
22:56
and it shows the three quantities, physical quantities, with errors.
23:01
And you have here, you can see that the errors, for example, before parameters, measurement parameters,
24:19
that you can configure the error estimation of the sensor.
24:24
The majority of people exposes the data sensor without showing the error. Every error, it's very important. And the scientific model is available for a micro pipe.
24:41
So, the math model is available, and not exactly the same for all boards. For example, it's very limited. You have, for a pipe board, a fast Fourier transform in assembly, a simple code available from a micro pipe.
25:01
It's very fast, okay? And you can compare with a super computer where it was some years ago. With a pipe board, a pipe board that's here, it's comparable to a brave woman calculating test Fourier transform using a micro pipe.
25:25
And I participated in this project with Paul, where there's an IoT experiment, where all the sensors will have the control of the error statistics.
25:40
Okay? So, we have the responsibility to show for the community about 10 sensors, all of them, controlling the details of the measurements. And the other development using a micro controller is done with a micro pipe.
26:01
Okay? Thank you very much. Thank you very much.