o: ActiveSupport::Cache::Entry :@compressedF: @value"šS"“S
Modules/Sensors/ALTIMET01A/SW/Python/ALTIMET_test.ipynb
1
{
2
 "metadata": {
3
  "name": "ALTIMET_test"
4
 },
5
 "nbformat": 3,
6
 "nbformat_minor": 0,
7
 "worksheets": [
8
  {
9
   "cells": [
10
    {
11
     "cell_type": "markdown",
12
     "metadata": {},
13
     "source": [
14
      "Uk\u00e1zka pou\u017eit\u00ed n\u00e1stroje IPython na manipulaci se senzorov\u00fdmi daty\n",
15
      "=======\n",
16
      "\n",
17
      "P\u0159\u00edklad vyu\u017e\u00edv\u00e1 moduluvou stavebnici MLAB a jej\u00ed knihovnu https://github.com/MLAB-project/MLAB-I2c-modules \n",
18
      "\n",
19
      "Zprovozn\u011bn\u00ed demo k\u00f3du\n",
20
      "---------------------\n",
21
      "\n",
22
      "Nejd\u0159\u00edve zjist\u00edme zda m\u00e1me p\u0159\u00edstup pro z\u00e1pis a \u010dten\u00ed do syst\u00e9mov\u00e9ho za\u0159\u00edzen\u00ed. A jak\u00e9 \u010d\u00edslo m\u00e1 I\u00b2C sb\u011brnice na  kterou m\u00e1me p\u0159ipojen\u00e1 \u010didla. \n"
23
     ]
24
    },
25
    {
26
     "cell_type": "code",
27
     "collapsed": false,
28
     "input": [
29
      "!i2cdetect -l"
30
     ],
31
     "language": "python",
32
     "metadata": {},
33
     "outputs": [
34
      {
35
       "output_type": "stream",
36
       "stream": "stdout",
37
       "text": [
38
        "i2c-0\tsmbus     \tCP2112 SMBus Bridge on hiddev0  \tSMBus adapter\r\n",
39
        "i2c-1\ti2c       \ti2c-tiny-usb at bus 001 device 007\tI2C adapter\r\n",
40
        "i2c-2\ti2c       \ti915 gmbus ssc                  \tI2C adapter\r\n",
41
        "i2c-3\ti2c       \ti915 gmbus vga                  \tI2C adapter\r\n",
42
        "i2c-4\ti2c       \ti915 gmbus panel                \tI2C adapter\r\n",
43
        "i2c-5\ti2c       \ti915 gmbus dpc                  \tI2C adapter\r\n",
44
        "i2c-6\ti2c       \ti915 gmbus dpb                  \tI2C adapter\r\n",
45
        "i2c-7\ti2c       \ti915 gmbus dpd                  \tI2C adapter\r\n",
46
        "i2c-8\ti2c       \tDPDDC-B                         \tI2C adapter\r\n"
47
       ]
48
      }
49
     ],
50
     "prompt_number": 1
51
    },
52
    {
53
     "cell_type": "markdown",
54
     "metadata": {},
55
     "source": [
56
      "Proto\u017ee pro p\u0159ipojen\u00ed \u010didel k po\u010d\u00edta\u010di pou\u017e\u00edv\u00e1me adapt\u00e9r i2c-tiny-usb. Vid\u00edme, \u017ee sb\u011brnice m\u00e1 aktu\u00e1ln\u011b ozna\u010den\u00ed nap\u0159\u00edklad i2c-8. \n",
57
      "\n",
58
      "V p\u0159\u00edpad\u011b, \u017ee v\u00fd\u0161e uveden\u00fd p\u0159\u00edklad vr\u00e1t\u00ed chybu, nebo pojmenov\u00e1n\u00ed \"unknown\" tak nem\u00e1me p\u0159\u00edstup k syst\u00e9mov\u00fdm rozhran\u00edm. Ten z\u00edsk\u00e1me vytvo\u0159en\u00edm souboru s n\u00e1sleduj\u00edc\u00edm obsahem ve slo\u017ece:  /etc/udev/rules.d/i2c-devices.rules"
59
     ]
60
    },
61
    {
62
     "cell_type": "raw",
63
     "metadata": {},
64
     "source": [
65
      "KERNEL==\"i2c-[0-9]*\", GROUP=\"i2c\""
66
     ]
67
    },
68
    {
69
     "cell_type": "markdown",
70
     "metadata": {},
71
     "source": [
72
      "Toto ozna\u010den\u00ed budeme je\u0161t\u011b d\u00e1le pot\u0159ebovat, proto si jej ulo\u017e\u00edme da prom\u011bnn\u00e9. "
73
     ]
74
    },
75
    {
76
     "cell_type": "code",
77
     "collapsed": false,
78
     "input": [
79
      "port = 1"
80
     ],
81
     "language": "python",
82
     "metadata": {},
83
     "outputs": [],
84
     "prompt_number": 2
85
    },
86
    {
87
     "cell_type": "markdown",
88
     "metadata": {},
89
     "source": [
90
      "Budeme pokra\u010dovat na\u010dten\u00edm pot\u0159ebn\u00fdch modul\u016f pro zach\u00e1zen\u00ed s I\u00b2C sn\u00edma\u010di."
91
     ]
92
    },
93
    {
94
     "cell_type": "code",
95
     "collapsed": false,
96
     "input": [
97
      "import time\n",
98
      "import datetime\n",
99
      "import sys\n",
100
      "import serial\n",
101
      "\n",
102
      "from pymlab import config\n",
103
      "import matplotlib.pyplot as plt\n",
104
      "import numpy as np"
105
     ],
106
     "language": "python",
107
     "metadata": {},
108
     "outputs": [],
109
     "prompt_number": 3
110
    },
111
    {
112
     "cell_type": "markdown",
113
     "metadata": {},
114
     "source": [
115
      "Nyn\u00ed si nadefinujeme strukturu p\u0159ipojen\u00ed jednotliv\u00fdch \u010didel na I\u00b2C sb\u011brnici."
116
     ]
117
    },
118
    {
119
     "cell_type": "code",
120
     "collapsed": false,
121
     "input": [
122
      "cfg = config.Config(\n",
123
      "    port = port,\n",
124
      "    bus = [\n",
125
      "        {\n",
126
      "            \"type\": \"i2chub\",\n",
127
      "            \"address\": 0x72,\n",
128
      "            \n",
129
      "            \"children\": [\n",
130
      "                {\"name\": \"altimet\", \"type\": \"altimet01\" , \"channel\": 7, },   \n",
131
      "            ],\n",
132
      "        },\n",
133
      "    ],\n",
134
      ")"
135
     ],
136
     "language": "python",
137
     "metadata": {},
138
     "outputs": [],
139
     "prompt_number": 4
140
    },
141
    {
142
     "cell_type": "markdown",
143
     "metadata": {},
144
     "source": [
145
      "Tuto strukturu inicializujeme, aby jsme dos\u00e1hli definovan\u00e9 konfigurace \u010didel."
146
     ]
147
    },
148
    {
149
     "cell_type": "code",
150
     "collapsed": false,
151
     "input": [
152
      "cfg.initialize()\n",
153
      "gauge = cfg.get_device(\"altimet\")\n",
154
      "time.sleep(0.5)"
155
     ],
156
     "language": "python",
157
     "metadata": {},
158
     "outputs": [],
159
     "prompt_number": 5
160
    },
161
    {
162
     "cell_type": "markdown",
163
     "metadata": {},
164
     "source": [
165
      "Nyn\u00ed u\u017e m\u016f\u017eeme p\u0159\u00edmo komunikovat se za\u0159\u00edzen\u00edm pojmenovan\u00fdm jako gauge."
166
     ]
167
    },
168
    {
169
     "cell_type": "code",
170
     "collapsed": false,
171
     "input": [
172
      "MEASUREMENTS = 100\n",
173
      "t = np.zeros(MEASUREMENTS)\n",
174
      "p = np.zeros(MEASUREMENTS)\n",
175
      "\n",
176
      "for n in range(MEASUREMENTS):\n",
177
      "#    gauge.route()  V p\u0159\u00edpad\u011b v\u00edce \u010didel je pot\u0159eba ke ka\u017ed\u00e9mu p\u0159ed jeho pou\u017eit\u00edm nechat vyroutovat cesutu na sb\u011brnici.\n",
178
      "    (t[n], p[n]) = gauge.get_tp()\n",
179
      "    print(n,t[n], p[n])"
180
     ],
181
     "language": "python",
182
     "metadata": {},
183
     "outputs": [
184
      {
185
       "output_type": "stream",
186
       "stream": "stdout",
187
       "text": [
188
        "(0, 22.625, 94868.25)\n",
189
        "(1, 22.625, 94868.25)"
190
       ]
191
      },
192
      {
193
       "output_type": "stream",
194
       "stream": "stdout",
195
       "text": [
196
        "\n",
197
        "(2, 22.625, 94868.25)"
198
       ]
199
      },
200
      {
201
       "output_type": "stream",
202
       "stream": "stdout",
203
       "text": [
204
        "\n",
205
        "(3, 22.625, 94870.0)"
206
       ]
207
      },
208
      {
209
       "output_type": "stream",
210
       "stream": "stdout",
211
       "text": [
212
        "\n",
213
        "(4, 22.625, 94870.0)"
214
       ]
215
      },
216
      {
217
       "output_type": "stream",
218
       "stream": "stdout",
219
       "text": [
220
        "\n",
221
        "(5, 22.625, 94868.5)"
222
       ]
223
      },
224
      {
225
       "output_type": "stream",
226
       "stream": "stdout",
227
       "text": [
228
        "\n",
229
        "(6, 22.625, 94868.5)"
230
       ]
231
      },
232
      {
233
       "output_type": "stream",
234
       "stream": "stdout",
235
       "text": [
236
        "\n",
237
        "(7, 22.5625, 94866.5)"
238
       ]
239
      },
240
      {
241
       "output_type": "stream",
242
       "stream": "stdout",
243
       "text": [
244
        "\n",
245
        "(8, 22.5625, 94866.5)"
246
       ]
247
      },
248
      {
249
       "output_type": "stream",
250
       "stream": "stdout",
251
       "text": [
252
        "\n",
253
        "(9, 22.625, 94868.5)"
254
       ]
255
      },
256
      {
257
       "output_type": "stream",
258
       "stream": "stdout",
259
       "text": [
260
        "\n",
261
        "(10, 22.625, 94868.5)"
262
       ]
263
      },
264
      {
265
       "output_type": "stream",
266
       "stream": "stdout",
267
       "text": [
268
        "\n",
269
        "(11, 22.5625, 94868.5)"
270
       ]
271
      },
272
      {
273
       "output_type": "stream",
274
       "stream": "stdout",
275
       "text": [
276
        "\n",
277
        "(12, 22.5625, 94868.0)"
278
       ]
279
      },
280
      {
281
       "output_type": "stream",
282
       "stream": "stdout",
283
       "text": [
284
        "\n",
285
        "(13, 22.5625, 94868.0)"
286
       ]
287
      },
288
      {
289
       "output_type": "stream",
290
       "stream": "stdout",
291
       "text": [
292
        "\n",
293
        "(14, 22.5625, 94866.25)"
294
       ]
295
      },
296
      {
297
       "output_type": "stream",
298
       "stream": "stdout",
299
       "text": [
300
        "\n",
301
        "(15, 22.625, 94866.25)"
302
       ]
303
      },
304
      {
305
       "output_type": "stream",
306
       "stream": "stdout",
307
       "text": [
308
        "\n",
309
        "(16, 22.625, 94868.5)"
310
       ]
311
      },
312
      {
313
       "output_type": "stream",
314
       "stream": "stdout",
315
       "text": [
316
        "\n",
317
        "(17, 22.625, 94868.5)"
318
       ]
319
      },
320
      {
321
       "output_type": "stream",
322
       "stream": "stdout",
323
       "text": [
324
        "\n",
325
        "(18, 22.625, 94870.75)"
326
       ]
327
      },
328
      {
329
       "output_type": "stream",
330
       "stream": "stdout",
331
       "text": [
332
        "\n",
333
        "(19, 22.625, 94870.75)"
334
       ]
335
      },
336
      {
337
       "output_type": "stream",
338
       "stream": "stdout",
339
       "text": [
340
        "\n",
341
        "(20, 22.5625, 94864.5)"
342
       ]
343
      },
344
      {
345
       "output_type": "stream",
346
       "stream": "stdout",
347
       "text": [
348
        "\n",
349
        "(21, 22.5625, 94864.5)"
350
       ]
351
      },
352
      {
353
       "output_type": "stream",
354
       "stream": "stdout",
355
       "text": [
356
        "\n",
357
        "(22, 22.625, 94868.5)"
358
       ]
359
      },
360
      {
361
       "output_type": "stream",
362
       "stream": "stdout",
363
       "text": [
364
        "\n",
365
        "(23, 22.625, 94868.5)"
366
       ]
367
      },
368
      {
369
       "output_type": "stream",
370
       "stream": "stdout",
371
       "text": [
372
        "\n",
373
        "(24, 22.5625, 94870.25)"
374
       ]
375
      },
376
      {
377
       "output_type": "stream",
378
       "stream": "stdout",
379
       "text": [
380
        "\n",
381
        "(25, 22.5625, 94866.25)"
382
       ]
383
      },
384
      {
385
       "output_type": "stream",
386
       "stream": "stdout",
387
       "text": [
388
        "\n",
389
        "(26, 22.5625, 94866.25)"
390
       ]
391
      },
392
      {
393
       "output_type": "stream",
394
       "stream": "stdout",
395
       "text": [
396
        "\n",
397
        "(27, 22.5625, 94864.75)"
398
       ]
399
      },
400
      {
401
       "output_type": "stream",
402
       "stream": "stdout",
403
       "text": [
404
        "\n",
405
        "(28, 22.5625, 94864.75)"
406
       ]
407
      },
408
      {
409
       "output_type": "stream",
410
       "stream": "stdout",
411
       "text": [
412
        "\n",
413
        "(29, 22.5625, 94868.0)"
414
       ]
415
      },
416
      {
417
       "output_type": "stream",
418
       "stream": "stdout",
419
       "text": [
420
        "\n",
421
        "(30, 22.5625, 94868.0)"
422
       ]
423
      },
424
      {
425
       "output_type": "stream",
426
       "stream": "stdout",
427
       "text": [
428
        "\n",
429
        "(31, 22.5625, 94868.5)"
430
       ]
431
      },
432
      {
433
       "output_type": "stream",
434
       "stream": "stdout",
435
       "text": [
436
        "\n",
437
        "(32, 22.5625, 94868.5)"
438
       ]
439
      },
440
      {
441
       "output_type": "stream",
442
       "stream": "stdout",
443
       "text": [
444
        "\n",
445
        "(33, 22.5625, 94870.0)"
446
       ]
447
      },
448
      {
449
       "output_type": "stream",
450
       "stream": "stdout",
451
       "text": [
452
        "\n",
453
        "(34, 22.5625, 94870.0)"
454
       ]
455
      },
456
      {
457
       "output_type": "stream",
458
       "stream": "stdout",
459
       "text": [
460
        "\n",
461
        "(35, 22.5625, 94864.25)"
462
       ]
463
      },
464
      {
465
       "output_type": "stream",
466
       "stream": "stdout",
467
       "text": [
468
        "\n",
469
        "(36, 22.5625, 94864.25)"
470
       ]
471
      },
472
      {
473
       "output_type": "stream",
474
       "stream": "stdout",
475
       "text": [
476
        "\n",
477
        "(37, 22.5625, 94866.75)"
478
       ]
479
      },
480
      {
481
       "output_type": "stream",
482
       "stream": "stdout",
483
       "text": [
484
        "\n",
485
        "(38, 22.5625, 94866.75)"
486
       ]
487
      },
488
      {
489
       "output_type": "stream",
490
       "stream": "stdout",
491
       "text": [
492
        "\n",
493
        "(39, 22.5625, 94870.5)"
494
       ]
495
      },
496
      {
497
       "output_type": "stream",
498
       "stream": "stdout",
499
       "text": [
500
        "\n",
501
        "(40, 22.5625, 94870.5)"
502
       ]
503
      },
504
      {
505
       "output_type": "stream",
506
       "stream": "stdout",
507
       "text": [
508
        "\n",
509
        "(41, 22.5625, 94870.5)"
510
       ]
511
      },
512
      {
513
       "output_type": "stream",
514
       "stream": "stdout",
515
       "text": [
516
        "\n",
517
        "(42, 22.5625, 94868.75)"
518
       ]
519
      },
520
      {
521
       "output_type": "stream",
522
       "stream": "stdout",
523
       "text": [
524
        "\n",
525
        "(43, 22.5625, 94868.75)"
526
       ]
527
      },
528
      {
529
       "output_type": "stream",
530
       "stream": "stdout",
531
       "text": [
532
        "\n",
533
        "(44, 22.5625, 94868.0)"
534
       ]
535
      },
536
      {
537
       "output_type": "stream",
538
       "stream": "stdout",
539
       "text": [
540
        "\n",
541
        "(45, 22.5625, 94868.0)"
542
       ]
543
      },
544
      {
545
       "output_type": "stream",
546
       "stream": "stdout",
547
       "text": [
548
        "\n",
549
        "(46, 22.5625, 94870.0)"
550
       ]
551
      },
552
      {
553
       "output_type": "stream",
554
       "stream": "stdout",
555
       "text": [
556
        "\n",
557
        "(47, 22.5625, 94870.0)"
558
       ]
559
      },
560
      {
561
       "output_type": "stream",
562
       "stream": "stdout",
563
       "text": [
564
        "\n",
565
        "(48, 22.5625, 94868.5)"
566
       ]
567
      },
568
      {
569
       "output_type": "stream",
570
       "stream": "stdout",
571
       "text": [
572
        "\n",
573
        "(49, 22.5625, 94868.5)"
574
       ]
575
      },
576
      {
577
       "output_type": "stream",
578
       "stream": "stdout",
579
       "text": [
580
        "\n",
581
        "(50, 22.5625, 94866.75)"
582
       ]
583
      },
584
      {
585
       "output_type": "stream",
586
       "stream": "stdout",
587
       "text": [
588
        "\n",
589
        "(51, 22.5625, 94866.75)"
590
       ]
591
      },
592
      {
593
       "output_type": "stream",
594
       "stream": "stdout",
595
       "text": [
596
        "\n",
597
        "(52, 22.5625, 94868.5)"
598
       ]
599
      },
600
      {
601
       "output_type": "stream",
602
       "stream": "stdout",
603
       "text": [
604
        "\n",
605
        "(53, 22.5625, 94868.5)"
606
       ]
607
      },
608
      {
609
       "output_type": "stream",
610
       "stream": "stdout",
611
       "text": [
612
        "\n",
613
        "(54, 22.625, 94866.75)"
614
       ]
615
      },
616
      {
617
       "output_type": "stream",
618
       "stream": "stdout",
619
       "text": [
620
        "\n",
621
        "(55, 22.625, 94870.75)"
622
       ]
623
      },
624
      {
625
       "output_type": "stream",
626
       "stream": "stdout",
627
       "text": [
628
        "\n",
629
        "(56, 22.5625, 94870.75)"
630
       ]
631
      },
632
      {
633
       "output_type": "stream",
634
       "stream": "stdout",
635
       "text": [
636
        "\n",
637
        "(57, 22.5625, 94868.25)"
638
       ]
639
      },
640
      {
641
       "output_type": "stream",
642
       "stream": "stdout",
643
       "text": [
644
        "\n",
645
        "(58, 22.5625, 94868.25)"
646
       ]
647
      },
648
      {
649
       "output_type": "stream",
650
       "stream": "stdout",
651
       "text": [
652
        "\n",
653
        "(59, 22.5625, 94866.75)"
654
       ]
655
      },
656
      {
657
       "output_type": "stream",
658
       "stream": "stdout",
659
       "text": [
660
        "\n",
661
        "(60, 22.5625, 94866.75)"
662
       ]
663
      },
664
      {
665
       "output_type": "stream",
666
       "stream": "stdout",
667
       "text": [
668
        "\n",
669
        "(61, 22.5625, 94868.25)"
670
       ]
671
      },
672
      {
673
       "output_type": "stream",
674
       "stream": "stdout",
675
       "text": [
676
        "\n",
677
        "(62, 22.5625, 94868.25)"
678
       ]
679
      },
680
      {
681
       "output_type": "stream",
682
       "stream": "stdout",
683
       "text": [
684
        "\n",
685
        "(63, 22.5625, 94864.25)"
686
       ]
687
      },
688
      {
689
       "output_type": "stream",
690
       "stream": "stdout",
691
       "text": [
692
        "\n",
693
        "(64, 22.5625, 94864.25)"
694
       ]
695
      },
696
      {
697
       "output_type": "stream",
698
       "stream": "stdout",
699
       "text": [
700
        "\n",
701
        "(65, 22.5625, 94868.75)"
702
       ]
703
      },
704
      {
705
       "output_type": "stream",
706
       "stream": "stdout",
707
       "text": [
708
        "\n",
709
        "(66, 22.5625, 94868.75)"
710
       ]
711
      },
712
      {
713
       "output_type": "stream",
714
       "stream": "stdout",
715
       "text": [
716
        "\n",
717
        "(67, 22.5625, 94868.75)"
718
       ]
719
      },
720
      {
721
       "output_type": "stream",
722
       "stream": "stdout",
723
       "text": [
724
        "\n",
725
        "(68, 22.5625, 94868.75)"
726
       ]
727
      },
728
      {
729
       "output_type": "stream",
730
       "stream": "stdout",
731
       "text": [
732
        "\n",
733
        "(69, 22.5625, 94864.0)"
734
       ]
735
      },
736
      {
737
       "output_type": "stream",
738
       "stream": "stdout",
739
       "text": [
740
        "\n",
741
        "(70, 22.5625, 94868.0)"
742
       ]
743
      },
744
      {
745
       "output_type": "stream",
746
       "stream": "stdout",
747
       "text": [
748
        "\n",
749
        "(71, 22.5625, 94868.0)"
750
       ]
751
      },
752
      {
753
       "output_type": "stream",
754
       "stream": "stdout",
755
       "text": [
756
        "\n",
757
        "(72, 22.5625, 94868.0)"
758
       ]
759
      },
760
      {
761
       "output_type": "stream",
762
       "stream": "stdout",
763
       "text": [
764
        "\n",
765
        "(73, 22.5625, 94868.0)"
766
       ]
767
      },
768
      {
769
       "output_type": "stream",
770
       "stream": "stdout",
771
       "text": [
772
        "\n",
773
        "(74, 22.5625, 94870.25)"
774
       ]
775
      },
776
      {
777
       "output_type": "stream",
778
       "stream": "stdout",
779
       "text": [
780
        "\n",
781
        "(75, 22.5625, 94870.25)"
782
       ]
783
      },
784
      {
785
       "output_type": "stream",
786
       "stream": "stdout",
787
       "text": [
788
        "\n",
789
        "(76, 22.5625, 94868.75)"
790
       ]
791
      },
792
      {
793
       "output_type": "stream",
794
       "stream": "stdout",
795
       "text": [
796
        "\n",
797
        "(77, 22.5625, 94868.75)"
798
       ]
799
      },
800
      {
801
       "output_type": "stream",
802
       "stream": "stdout",
803
       "text": [
804
        "\n",
805
        "(78, 22.5625, 94866.75)"
806
       ]
807
      },
808
      {
809
       "output_type": "stream",
810
       "stream": "stdout",
811
       "text": [
812
        "\n",
813
        "(79, 22.5625, 94866.75)"
814
       ]
815
      },
816
      {
817
       "output_type": "stream",
818
       "stream": "stdout",
819
       "text": [
820
        "\n",
821
        "(80, 22.5625, 94864.75)"
822
       ]
823
      },
824
      {
825
       "output_type": "stream",
826
       "stream": "stdout",
827
       "text": [
828
        "\n",
829
        "(81, 22.5625, 94864.75)"
830
       ]
831
      },
832
      {
833
       "output_type": "stream",
834
       "stream": "stdout",
835
       "text": [
836
        "\n",
837
        "(82, 22.5625, 94866.25)"
838
       ]
839
      },
840
      {
841
       "output_type": "stream",
842
       "stream": "stdout",
843
       "text": [
844
        "\n",
845
        "(83, 22.5625, 94866.25)"
846
       ]
847
      },
848
      {
849
       "output_type": "stream",
850
       "stream": "stdout",
851
       "text": [
852
        "\n",
853
        "(84, 22.5625, 94864.25)"
854
       ]
855
      },
856
      {
857
       "output_type": "stream",
858
       "stream": "stdout",
859
       "text": [
860
        "\n",
861
        "(85, 22.5625, 94868.25)"
862
       ]
863
      },
864
      {
865
       "output_type": "stream",
866
       "stream": "stdout",
867
       "text": [
868
        "\n",
869
        "(86, 22.5625, 94868.25)"
870
       ]
871
      },
872
      {
873
       "output_type": "stream",
874
       "stream": "stdout",
875
       "text": [
876
        "\n",
877
        "(87, 22.5625, 94870.25)"
878
       ]
879
      },
880
      {
881
       "output_type": "stream",
882
       "stream": "stdout",
883
       "text": [
884
        "\n",
885
        "(88, 22.5625, 94870.25)"
886
       ]
887
      },
888
      {
889
       "output_type": "stream",
890
       "stream": "stdout",
891
       "text": [
892
        "\n",
893
        "(89, 22.5625, 94870.25)"
894
       ]
895
      },
896
      {
897
       "output_type": "stream",
898
       "stream": "stdout",
899
       "text": [
900
        "\n",
901
        "(90, 22.5625, 94870.25)"
902
       ]
903
      },
904
      {
905
       "output_type": "stream",
906
       "stream": "stdout",
907
       "text": [
908
        "\n",
909
        "(91, 22.5625, 94868.0)"
910
       ]
911
      },
912
      {
913
       "output_type": "stream",
914
       "stream": "stdout",
915
       "text": [
916
        "\n",
917
        "(92, 22.5625, 94868.0)"
918
       ]
919
      },
920
      {
921
       "output_type": "stream",
922
       "stream": "stdout",
923
       "text": [
924
        "\n",
925
        "(93, 22.5625, 94864.5)"
926
       ]
927
      },
928
      {
929
       "output_type": "stream",
930
       "stream": "stdout",
931
       "text": [
932
        "\n",
933
        "(94, 22.5625, 94864.5)"
934
       ]
935
      },
936
      {
937
       "output_type": "stream",
938
       "stream": "stdout",
939
       "text": [
940
        "\n",
941
        "(95, 22.5625, 94874.5)"
942
       ]
943
      },
944
      {
945
       "output_type": "stream",
946
       "stream": "stdout",
947
       "text": [
948
        "\n",
949
        "(96, 22.5625, 94874.5)"
950
       ]
951
      },
952
      {
953
       "output_type": "stream",
954
       "stream": "stdout",
955
       "text": [
956
        "\n",
957
        "(97, 22.5625, 94872.5)"
958
       ]
959
      },
960
      {
961
       "output_type": "stream",
962
       "stream": "stdout",
963
       "text": [
964
        "\n",
965
        "(98, 22.5625, 94868.5)"
966
       ]
967
      },
968
      {
969
       "output_type": "stream",
970
       "stream": "stdout",
971
       "text": [
972
        "\n",
973
        "(99, 22.5625, 94870.25)"
974
       ]
975
      },
976
      {
977
       "output_type": "stream",
978
       "stream": "stdout",
979
       "text": [
980
        "\n"
981
       ]
982
      }
983
     ],
984
     "prompt_number": 21
985
    },
986
    {
987
     "cell_type": "code",
988
     "collapsed": false,
989
     "input": [
990
      "np.savez(\"data_ground\", t, p)\n",
991
      "#np.savez(\"data_top\", t, p)"
992
     ],
993
     "language": "python",
994
     "metadata": {},
995
     "outputs": [],
996
     "prompt_number": 22
997
    },
998
    {
999
     "cell_type": "code",
1000
     "collapsed": false,
1001
     "input": [
1002
      "amin(p)"
1003
     ],
1004
     "language": "python",
1005
     "metadata": {},
1006
     "outputs": [
1007
      {
1008
       "output_type": "pyout",
1009
       "prompt_number": 23,
1010
       "text": [
1011
        "94864.0"
1012
       ]
1013
      }
1014
     ],
1015
     "prompt_number": 23
1016
    },
1017
    {
1018
     "cell_type": "code",
1019
     "collapsed": false,
1020
     "input": [
1021
      "amax(p)"
1022
     ],
1023
     "language": "python",
1024
     "metadata": {},
1025
     "outputs": [
1026
      {
1027
       "output_type": "pyout",
1028
       "prompt_number": 24,
1029
       "text": [
1030
        "94874.5"
1031
       ]
1032
      }
1033
     ],
1034
     "prompt_number": 24
1035
    },
1036
    {
1037
     "cell_type": "code",
1038
     "collapsed": false,
1039
     "input": [
1040
      "std(p)"
1041
     ],
1042
     "language": "python",
1043
     "metadata": {},
1044
     "outputs": [
1045
      {
1046
       "output_type": "pyout",
1047
       "prompt_number": 25,
1048
       "text": [
1049
        "2.1005044037087854"
1050
       ]
1051
      }
1052
     ],
1053
     "prompt_number": 25
1054
    },
1055
    {
1056
     "cell_type": "code",
1057
     "collapsed": false,
1058
     "input": [
1059
      "plt.plot(p)"
1060
     ],
1061
     "language": "python",
1062
     "metadata": {},
1063
     "outputs": [
1064
      {
1065
       "output_type": "pyout",
1066
       "prompt_number": 26,
1067
       "text": [
1068
        "[<matplotlib.lines.Line2D at 0x396eed0>]"
1069
       ]
1070
      },
1071
      {
1072
       "output_type": "display_data",
1073
       "png": "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\n"
1074
      }
1075
     ],
1076
     "prompt_number": 26
1077
    },
1078
    {
1079
     "cell_type": "code",
1080
     "collapsed": false,
1081
     "input": [
1082
      "plt.plot(t)"
1083
     ],
1084
     "language": "python",
1085
     "metadata": {},
1086
     "outputs": [
1087
      {
1088
       "output_type": "pyout",
1089
       "prompt_number": 27,
1090
       "text": [
1091
        "[<matplotlib.lines.Line2D at 0x399a4d0>]"
1092
       ]
1093
      },
1094
      {
1095
       "output_type": "display_data",
1096
       "png": "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\n"
1097
      }
1098
     ],
1099
     "prompt_number": 27
1100
    },
1101
    {
1102
     "cell_type": "code",
1103
     "collapsed": false,
1104
     "input": [],
1105
     "language": "python",
1106
     "metadata": {},
1107
     "outputs": []
1108
    }
1109
   ],
1110
   "metadata": {}
1111
  }
1112
 ]
1113
}
Modules/Sensors/ALTIMET01A/SW/Python/ALTIMET01A_test.py
1
#!/usr/bin/python
2

  
3
# Python test script for MLAB ALTIMET01A sensor
4

  
5
import time
6
import datetime
7
import sys
8
import serial
9

  
10
from pymlab import config
11

  
12

  
13
#### Script Arguments ###############################################
14

  
15
if len(sys.argv) != 2:
16
    sys.stderr.write("Invalid number of arguments.\n")
17
    sys.stderr.write("Usage: %s #I2CPORT\n" % (sys.argv[0], ))
18
    sys.exit(1)
19

  
20
port    = eval(sys.argv[1])
21

  
22

  
23
#### Sensor Configuration ###########################################
24

  
25
cfg = config.Config(
26
    port = port,
27
    bus = [
28
        {
29
            "type": "i2chub",
30
            "address": 0x72,
31
            
32
            "children": [
33
                {"name": "altimet", "type": "altimet01" , "channel": 7, },   
34
            ],
35
        },
36
    ],
37
)
38
cfg.initialize()
39
gauge = cfg.get_device("altimet")
40
time.sleep(0.5)
41

  
42
#### Data Logging ###################################################
43

  
44
sys.stdout.write("ALTIMET data acquisition system started \n")
45

  
46
try:
47
    with open("temperature.log", "a") as f:
48
        while True:
49
            gauge.route()
50
            (t1, p1) = gauge.get_tp()
51
            sys.stdout.write(" Temperature: %.2f  Pressure: %d \n" % (t1, p1))
52
            sys.stdout.flush()
53
#            time.sleep(0.5)
54
            
55
except KeyboardInterrupt:
56
    ser.close()
57
    sys.exit(0)
58

  
0 59

  
:@created_atf1425798383.544158Ó|:@expires_in0