カテゴリー別アーカイブ: 開発

ルーフモニタ その4 (1.8″→3.2″)

オーストラリアから、3.2インチTFTモニタが届いたので、リプレースすることに。

まずは、ABS樹脂をcoromozaでレーザーカット!

そんでもって、ヤスリがけ!

細長いのは、シフトパネルのTEMSスイッチのところのめくら蓋に!

そんでもって、塗装行くよ!

プライマー吹いて〜

シフトパネル用のパーツは、マッドブラック吹いて〜

ルーフモニタ化粧パネルは、レッドブラウン吹いて〜

マッドブラック乾いてきたヨ!

化粧パネル2回目のレッドブラウン!

こちらも乾いてきた!

塗装は終了!

次は台座加工。

既存の枠もカットカット!

貼り付け!

いい感じじゃない?

では、Raspberry Pi Zero Wに、OS入れて〜LCDのドライバー入れて〜

実車マウント!

いいねー

3.2インチバージョンは一旦完成!

あとは、ここで何をやらせるかが問題なんですねー。(w

続く〜

車載PC9号(仮)構築 & ガレージ照明改善作戦 (その3)

先日、車載PCモニタを11.6インチ化したら、いろいろ思うところが出てきて、車載PCもリプレースしようかなと。
→ 詳細はこちら

で、パーツが揃ったので、構築開始!

M/Bは、ASRock H270M-ITX/ac、CPUは、Intel Core i5-7400T/2.4GHz(TDP:35W)

メインストレージは、NVMeなSSD(WD-Black 256GB、 メモリはDDR4-2133 16GB(8GB*2)

ケースは、SilverStone ML6

とりあえずは、Bench!

Bench中に、電流値チェック。

シングルコアでベンチ中:2.2A  (12V) 約26W
クアッドコアでベンチ中:3.0A (12V) 約36W
アイドル中: 1.3A (12V) 約16W

いい感じですね!

USBもいっぱい!

お次は、照明制御の続き。

SSRにIVケーブルを付けて、、

スイッチへ。

DC側のリード線は長めに。

スイッチ側は完了!

回路は書いてみたヨ。

続く〜

前期エアロバンパー その1 & EasyLock & PC-6601

昨日(9/30)、厚木倉庫から前期バンパーを笹目に移動したので、作業!

その前に、ヤツが来たので、餌を。(w

まずは、前期バンパー分解!

レインホース外しただけですが、今日はここまで!^^;

お次は、玄関のサムターンをリモコン化!

HONDA LockのEasyLockを導入

サムターン外して、プレートを固定

そんでもって、EasyLock本体

完成!

リモコン分解してみた。


コイツも、そのうち、Raspberry Piか、Arduinoあたりで制御しよう。

PC-6601も引っ張り出した!

ちゃんと動くよ!

引っ越し関連作業はまだまだ続きます。。。

前期バンパーは、TWINturboなモールは剥がしたヨ

Orange Pi Plus2 (その2)

いろいろ設定。

boot時のオプションなど。

/boot/script.binの変更 (fedora24の場合)

  • # dnf install sunxi-tools
    # ln -s /usr/bin/sunxi-fexc /usr/local/bin/bin2fex
  • # cd /boot
    # bin2fex script.bin > HOGEHOGE.fex
    # vi HOGEHOGE.fex
    # fex2bin HOGEHOGE.fex script.bin
  • # reboot

CPU Clockの上限を1.54GHzへ。

  • fexファイル修正 (変更箇所のみ)
    cooler0 = "1536000 4 4294967295 0"
    extremity_freq = 1536000000
    max_freq = 1536000000
    LV1_freq = 1536000000
    LV1_volt = 1500
    
  • fex2binで更新し、reboot

不要なドライバーをblacklist化

  • # vi /etc/modprobe.d/opp-blacklist.conf
    blacklist pcf8591
    blacklist bmp085
    blacklist 8189es
    • pcf8691,bmp085はオンボードなi2cデバイスらしいけどいらないので。
    • 8189esはオンボードwifi、こちらも、技適通ってないし、いらないや。

wiringOPビルド

  • # git clone https://github.com/zhaolei/WiringOP.git -b h3
    # cd WiringOP
    # sh ./build

RTC追加

  • Orange Pi Plus2は、オンボードでrtcチップ載っていますが、バックアップバッテリーとクリスタル(32.768kHz)が載ってなく事実上使い物にならないので、i2cなrtcを追加することに。
  • 今回は、ds3231というチップのrtcに。
  • 適当にスクリプト作成
    # cat /opt/bin/set-clock.sh
    #!/bin/bash
    echo ds3231 0x68 > /sys/class/i2c-adapter/i2c-0/new_device 2>/dev/null
    sleep 1
    /usr/sbin/hwclock -f /dev/rtc1 -s
    # chmod 750 /opt/bin/set-clock.sh
  • サービス登録のファイル作成
    # cat /etc/systemd/system/rtc.service 
    [Unit]
    Description=set clock from rtc
    #Before=dbus.service
    Before=chronyd.service
    
    [Service]
    Type=oneshot
    ExecStart=/opt/bin/set-clock.sh
    RemainAfterExit=yes
    
    [Install]
    WantedBy=multi-user.target
  • サービス登録
    • # systemctl enable rtc.service

Orange Pi Plus2

アリババで発注したOrange Pi Plus2が届いた。

RPi3との比較 (主な違い)

  • CPU
    • RPi3: Quad Core 1.2GHz Broadcom BCM2837 64bit CPU
    • OPP2: H3 Quad-core Cortex-A7 H.265/HEVC 4K  / 1.6GHz
  • RAM
    • RPi3: DDR2 1GB
    • OPP2: DDR3 2GB
  • ストレージ
    • RPi3: オンボードストレージなし、microSD
    • OPP2: オンボード eMMC 16GB、microSD、SATA-I/F
  • Ethernet
    • RPi3: 10/100 Ethernet RJ45
    • OPP2: 10/100/1000M Ethernet RJ45
  • ボードサイズ
    • RPi3: 85mm * 56mm
    • OPP2: 108mm * 67mm
  • 価格
    • RPi3: $38.5~ (アリババ)
    • OPP2: $49~ (アリババ)

そんな感じで、いろいろ実験。

まずは、loborisさん公開のFedora 22を試してみることに。

すんなり動きました。中身をF24に入れかえても動いてます。

が、Kernelがちと古くて、挙動も怪しい。USBキーボード刺してももconsoleで入力できなかったりと。(w

というわけで、いったん、ArmbianのUbuntu_xenialを入れてみた。
こちらも、すんなり起動。

やっぱり、中身をFC24にしてみた。
問題なし!!
コンソールでのキーボードも問題ないです。

というわけで、こいつでいくことに!。

以下、memo

# uname -a
Linux orange-pi-plus2 3.4.113-sun8i #16 SMP PREEMPT Tue Jun 13 14:15:57 CEST 2017 armv7l armv7l armv7l GNU/Linux                                                                                        
# cat /etc/redhat-release 
Fedora release 24 (Twenty Four)
# lscpu
Architecture:          armv7l                                                                                                                                                                           
Byte Order:            Little Endian                                                                                                                                                                    
CPU(s):                4                                                                                                                                                                                
On-line CPU(s) list:   0-3                                                                                                                                                                              
Thread(s) per core:    1                                                                                                                                                                                
Core(s) per socket:    4                                                                                                                                                                                
Socket(s):             1                                                                                                                                                                                
CPU max MHz:           1296.0000                                                                                                                                                                        
CPU min MHz:           480.0000
# free
              total        used        free      shared  buff/cache   available                                                                                                                         
Mem:        2062620       47928     1061924       13412      952768     1979391                                                                                                                         
Swap:        102396           0      102396 
# cpupower frequency-info
analyzing CPU 0:
  driver: cpufreq-sunxi
  CPUs which run at the same hardware frequency: 0 1 2 3
  CPUs which need to have their frequency coordinated by software: 0 1 2 3
  maximum transition latency: 2.00 ms
  hardware limits: 480 MHz - 1.54 GHz
  available frequency steps:  60.0 MHz, 120 MHz, 240 MHz, 312 MHz, 408 MHz, 480 MHz, 504 MHz, 528 MHz, 576 MHz, 600 MHz, 624 MHz, 648 MHz, 672 MHz, 720 MHz, 768 MHz, 816 MHz, 864 MHz, 912 MHz, 960 MHz, 1.01 GHz, 1.06 GHz, 1.10 GHz, 1.15 GHz, 1.20 GHz, 1.25 GHz, 1.30 GHz, 1.34 GHz, 1.44 GHz, 1.54 GHz
  available cpufreq governors: interactive conservative ondemand powersave userspace performance
  current policy: frequency should be within 480 MHz and 1.54 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency: 1.54 GHz (asserted by call to hardware)
# df -h
Filesystem      Size  Used Avail Use% Mounted on                                                                                                                                                        
udev            877M     0  877M   0% /dev                                                                                                                                                              
tmpfs           202M   14M  189M   7% /run                                                                                                                                                              
/dev/mmcblk0p1   15G  3.0G   12G  21% /                                                                                                                                                                 
tmpfs          1008M     0 1008M   0% /dev/shm                                                                                                                                                          
tmpfs          1008M     0 1008M   0% /sys/fs/cgroup                                                                                                                                                    
tmpfs          1008M     0 1008M   0% /tmp                                                                                                                                                              
tmpfs           202M  4.0K  202M   1% /run/user/0
# fdisk -l /dev/mmcblk0                                                                                                                                                         
Disk /dev/mmcblk0: 14.6 GiB, 15634268160 bytes, 30535680 sectors                                                                                                                                        
Units: sectors of 1 * 512 = 512 bytes                                                                                                                                                                   
Sector size (logical/physical): 512 bytes / 512 bytes                                                                                                                                                   
I/O size (minimum/optimal): 512 bytes / 512 bytes                                                                                                                                                       
Disklabel type: dos                                                                                                                                                                                     
Disk identifier: 0x15592fef                                                                                                                                                                             
                                                                                                                                                                                                        
Device         Boot Start      End  Sectors  Size Id Type                                                                                                                                               
/dev/mmcblk0p1       8192 30535679 30527488 14.6G 83 Linux                                                                                                                                              
# cat /proc/interrupts 
           CPU0       CPU1       CPU2       CPU3                                                                                                                                                        
  3:          1          0          0          0  sunxi_gpio_irq_chip  gk_EINT                                                                                                                          
 29:    1210550     327635     534201     153257       GIC  arch_timer                                                                                                                                  
 30:          0          0          0          0       GIC  arch_timer                                                                                                                                  
 32:        328          0          0          0       GIC  uart0                                                                                                                                       
 38:         18          0          0          0       GIC  twi0                                                                                                                                        
 39:         18          0          0          0       GIC  twi1                                                                                                                                        
 43:          0          0          0          0       GIC  PA                                                                                                                                          
 49:          0          0          0          0       GIC  PG                                                                                                                                          
 50:          0          0          0          0       GIC  sunxi_timer0                                                                                                                                
 63:          0          0          0          0       GIC  Thermal                                                                                                                                     
 72:          1          0          0          0       GIC  sunxi-rtc alarm                                                                                                                             
 77:          1          0          0          0       GIC  PL                                                                                                                                          
 81:          0          0          0          0       GIC  arisc_hwmsgbox_irq                                                                                                                          
 82:          0          0          0          0       GIC  sunxi_dmac                                                                                                                                  
 90:          0          0          0          0       GIC  cedar_dev                                                                                                                                   
 92:          0          0          0          0       GIC  sunxi-mmc                                                                                                                                   
 93:      18310          0          0          0       GIC  sunxi-mmc                                                                                                                                   
 94:     909231          0          0          0       GIC  sunxi-mmc                                                                                                                                   
 97:          0          0          0          0       GIC  spi0                                                                                                                                        
104:          0          0          0          0       GIC  ehci_hcd:usb1                                                                                                                               
105:          0          0          0          0       GIC  ohci_hcd:usb4                                                                                                                               
106:         91          0          0          0       GIC  ehci_hcd:usb2                                                                                                                               
107:          0          0          0          0       GIC  ohci_hcd:usb5                                                                                                                               
110:        118          0          0          0       GIC  ehci_hcd:usb3                                                                                                                               
111:          0          0          0          0       GIC  ohci_hcd:usb6                                                                                                                               
114:     183812          0          0          0       GIC  gmac0                                                                                                                                       
118:    3847283          0          0          0       GIC  dispaly                                                                                                                                     
IPI0:          0          0          0          0  CPU wakeup interrupts                                                                                                                                
IPI1:          0          0          0          0  Timer broadcast interrupts                                                                                                                           
IPI2:     176557     167026      80912     118984  Rescheduling interrupts                                                                                                                              
IPI3:        263        283        177        271  Function call interrupts                                                                                                                             
IPI4:          3          3          2          3  Single function call interrupts                                                                                                                      
IPI5:          0          0          0          0  CPU stop interrupts                                                                                                                                  
IPI6:          0          0          0          0  CPU backtrace                                                                                                                                        
IPI7:          0          0          0          0  completion interrupts                                                                                                                                
Err:          0                                                                                                                                                                                         
# ethtool eth0
Settings for eth0:                                                                                                                                                                                      
        Supported ports: [ TP MII ]                                                                                                                                                                     
        Supported link modes:   10baseT/Half 10baseT/Full                                                                                                                                               
                                100baseT/Half 100baseT/Full                                                                                                                                             
                                1000baseT/Half 1000baseT/Full                                                                                                                                           
        Supported pause frame use: No                                                                                                                                                                   
        Supports auto-negotiation: Yes                                                                                                                                                                  
        Advertised link modes:  10baseT/Half 10baseT/Full                                                                                                                                               
                                100baseT/Half 100baseT/Full                                                                                                                                             
                                1000baseT/Half 1000baseT/Full                                                                                                                                           
        Advertised pause frame use: No                                                                                                                                                                  
        Advertised auto-negotiation: Yes                                                                                                                                                                
        Speed: 1000Mb/s                                                                                                                                                                                 
        Duplex: Full                                                                                                                                                                                    
        Port: MII                                                                                                                                                                                       
        PHYAD: 0                                                                                                                                                                                        
        Transceiver: external                                                                                                                                                                           
        Auto-negotiation: on                                                                                                                                                                            
        Link detected: yes
# ethtool -i eth0                                                                                                                                                               
driver: sunxi_geth                                                                                                                                                                                      
version: SUNXI Gbgit driver V1.1                                                                                                                                                                        
firmware-version:                                                                                                                                                                                       
expansion-rom-version:                                                                                                                                                                                  
bus-info:                                                                                                                                                                                               
supports-statistics: no                                                                                                                                                                                 
supports-test: no                                                                                                                                                                                       
supports-eeprom-access: no                                                                                                                                                                              
supports-register-dump: no                                                                                                                                                                              
supports-priv-flags: no
# gpio readall
 +-----+-----+----------+------+---+-Orange Pi+---+---+------+---------+-----+--+
 | BCM | wPi |   Name   | Mode | V | Physical | V | Mode | Name     | wPi | BCM |
 +-----+-----+----------+------+---+----++----+---+------+----------+-----+-----+
 |     |     |     3.3v |      |   |  1 || 2  |   |      | 5v       |     |     |
 |  12 |   8 |    SDA.0 | ALT5 | 0 |  3 || 4  |   |      | 5V       |     |     |
 |  11 |   9 |    SCL.0 | ALT5 | 0 |  5 || 6  |   |      | 0v       |     |     |
 |   6 |   7 |   GPIO.7 | ALT3 | 0 |  7 || 8  | 0 | ALT4 | TxD3     | 15  | 13  |
 |     |     |       0v |      |   |  9 || 10 | 0 | ALT4 | RxD3     | 16  | 14  |
 |   1 |   0 |     RxD2 | ALT5 | 0 | 11 || 12 | 0 | ALT3 | GPIO.1   | 1   | 110 |
 |   0 |   2 |     TxD2 | ALT5 | 0 | 13 || 14 |   |      | 0v       |     |     |
 |   3 |   3 |     CTS2 | ALT5 | 0 | 15 || 16 | 0 | ALT3 | GPIO.4   | 4   | 68  |
 |     |     |     3.3v |      |   | 17 || 18 | 0 | ALT3 | GPIO.5   | 5   | 71  |
 |  64 |  12 |     MOSI | ALT4 | 0 | 19 || 20 |   |      | 0v       |     |     |
 |  65 |  13 |     MISO | ALT4 | 0 | 21 || 22 | 0 | ALT5 | RTS2     | 6   | 2   |
 |  66 |  14 |     SCLK | ALT4 | 0 | 23 || 24 | 0 | ALT4 | CE0      | 10  | 67  |
 |     |     |       0v |      |   | 25 || 26 | 0 | ALT3 | GPIO.11  | 11  | 21  |
 |  19 |  30 |    SDA.1 | ALT4 | 0 | 27 || 28 | 0 | ALT4 | SCL.1    | 31  | 18  |
 |   7 |  21 |  GPIO.21 |  OUT | 0 | 29 || 30 |   |      | 0v       |     |     |
 |   8 |  22 |  GPIO.22 |  OUT | 0 | 31 || 32 | 0 | ALT3 | RTS1     | 26  | 200 |
 |   9 |  23 |  GPIO.23 | ALT3 | 0 | 33 || 34 |   |      | 0v       |     |     |
 |  10 |  24 |  GPIO.24 | ALT3 | 0 | 35 || 36 | 0 | ALT3 | CTS1     | 27  | 201 |
 |  20 |  25 |  GPIO.25 | ALT3 | 0 | 37 || 38 | 0 | ALT3 | TxD1     | 28  | 198 |
 |     |     |       0v |      |   | 39 || 40 | 0 | ALT3 | RxD1     | 29  | 199 |
 +-----+-----+----------+------+---+----++----+---+------+----------+-----+-----+
 | BCM | wPi |   Name   | Mode | V | Physical | V | Mode | Name     | wPi | BCM |
 +-----+-----+----------+------+---+-Orange Pi+---+------+----------+-----+-----+
# cat unixbench-5.1.3/result/orange-pi-plus2-2017-08-07-01
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: orange-pi-plus2: GNU/Linux
   OS: GNU/Linux -- 3.4.113-sun8i -- #16 SMP PREEMPT Tue Jun 13 14:15:57 CEST 2017
   Machine: armv7l (armv7l)
   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
   14:47:27 up 29 min,  2 users,  load average: 1.25, 0.93, 0.66; runlevel 2000-01-01

------------------------------------------------------------------------
Benchmark Run: Mon Aug 07 2017 14:47:27 - 15:15:30
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        6349037.5 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     1006.8 MWIPS (10.0 s, 7 samples)
Execl Throughput                                693.4 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks         98028.9 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           28717.7 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        246639.2 KBps  (30.0 s, 2 samples)
Pipe Throughput                              221516.1 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  32429.3 lps   (10.0 s, 7 samples)
Process Creation                               1906.4 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   1065.3 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    280.4 lpm   (60.1 s, 2 samples)
System Call Overhead                         465673.3 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    6349037.5    544.0
Double-Precision Whetstone                       55.0       1006.8    183.1
Execl Throughput                                 43.0        693.4    161.3
File Copy 1024 bufsize 2000 maxblocks          3960.0      98028.9    247.5
File Copy 256 bufsize 500 maxblocks            1655.0      28717.7    173.5
File Copy 4096 bufsize 8000 maxblocks          5800.0     246639.2    425.2
Pipe Throughput                               12440.0     221516.1    178.1
Pipe-based Context Switching                   4000.0      32429.3     81.1
Process Creation                                126.0       1906.4    151.3
Shell Scripts (1 concurrent)                     42.4       1065.3    251.2
Shell Scripts (8 concurrent)                      6.0        280.4    467.4
System Call Overhead                          15000.0     465673.3    310.4
                                                                   ========
System Benchmarks Index Score                                         231.2

------------------------------------------------------------------------
Benchmark Run: Mon Aug 07 2017 15:15:30 - 15:43:43
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       20145461.3 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     3392.8 MWIPS (10.2 s, 7 samples)
Execl Throughput                               1480.6 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        150785.3 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           46616.7 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        372879.2 KBps  (30.0 s, 2 samples)
Pipe Throughput                              708030.9 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  98681.5 lps   (10.0 s, 7 samples)
Process Creation                               4170.1 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   2120.6 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    291.6 lpm   (60.5 s, 2 samples)
System Call Overhead                        1481920.1 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   20145461.3   1726.3
Double-Precision Whetstone                       55.0       3392.8    616.9
Execl Throughput                                 43.0       1480.6    344.3
File Copy 1024 bufsize 2000 maxblocks          3960.0     150785.3    380.8
File Copy 256 bufsize 500 maxblocks            1655.0      46616.7    281.7
File Copy 4096 bufsize 8000 maxblocks          5800.0     372879.2    642.9
Pipe Throughput                               12440.0     708030.9    569.2
Pipe-based Context Switching                   4000.0      98681.5    246.7
Process Creation                                126.0       4170.1    331.0
Shell Scripts (1 concurrent)                     42.4       2120.6    500.1
Shell Scripts (8 concurrent)                      6.0        291.6    486.0
System Call Overhead                          15000.0    1481920.1    987.9
                                                                   ========
System Benchmarks Index Score                                         506.1

そんな感じ。

ボードサイズ比較

上:Orange Pi Plus2、下:Raspberry Pi3

[IoT]mz20mon

車載Raspberry Piシリーズ4台目を投入したので、ちょこっと説明。

  • 1台目: Raspberry Pi2
    エアコンパネル専用 (IGN-ON時のみ稼働)
  • 2台目:Raspberry Pi Zero
    ステアリングモニタ専用 (IGN-ON時のみ稼働)
  • 3台目:Raspberry Pi3
    LEDマトリックスパネル制御専用 (IGN-ON時のみ稼働、たまに、手動で稼働)
  • 4台目:Raspberry Pi2 ※今回はこの話
    多目的管理サーバ (常時稼働)

ざっくり構成

上記は、4台目のRpi2に接続している簡易構成図。

電源関連

  • 本システム専用にDeepCycleBattery 12V/50Ahを用意 → ブログ参照
  • 充電は走行中(IGN-ON)時に、走行充電器にて
  • Rpi2/関連システムには、12V→5Vレギュレータより供給

OS

  • Fedora24 for ARMv7
  • メインストレージは、16GB microSD
  • 追加ストレージに、64GB SSD(USB接続)

ネットワーク

  • インターネット接続
    Pixela社のLTE USBドングル PIX-MT100 に、OCNモバイルOneのSIMをさして通信
  • VPN
    tachibanaに、VPN接続
  • LAN
    オンボードEthernetにて、既存車内LANと接続

機能仕様等

  • dhcpサーバ
  • ntpサーバ
  • DNSリゾルバー(cache)
  • NAT Router機能
  • mysql(MariaDB)
  • 各種ロガー
    • Location
    • 温度・湿度・気圧
    • 電圧・電流
    • SPD、Rev、INJ、加吸圧、水温、その他(todo)

監視

  • tachibanaより、VPN経由で監視
  • 監視agentは、zabbix-agent

    ↑サンプル

センサーとか

  • 電流・電圧センサー1  (INA226iso)
    本システムの消費電力(12Vライン側)を計測
    zabbixモニタリング
    mysqlへロギング
  • 電流・電圧センサー2 (INA226iso-100)
    オルタネータハイサイド電流・電圧計測
    zabbixモニタリング
    mysqlへロギング
    ※まだ、シャント抵抗仮設置しただけ。
  • 温度・湿度・気圧センサー (BME280)
    トランク内の温度・湿度・気圧を計測
    zabbixモニタリング
    mysqlへロギング
  • GPSセンサー (GPS受信キット)
    現在地記録
    mysqlへロギング
    MQTT通知

他の構成は、システム詳細を参照。

続く。

24h運用 車載Raspberry Pi2の検証

10号に、24h運用のRpi2を車載すべく、実験開始。

仕様

  • メイン電源:12V50Ahの鉛電池(Long)
  • 12V→5Vレギュレーター(USBメス*2)
  • アイソレーター(New Era SBC-001B)で走行中のみ充電
  • PIX-MT100にてインターネット接続

バッテリーをフル充電にしてから、充電をオフにし、バッテリーのみで稼働テスト。

いまのところ、4日間以上動き続けている。

さすが、50Ah

続く。

モニタの入力セレクタを作るの巻 (その1)

ルームミラーモニターの入力を以下のようにしたので、セレクターがほしくなったので作ることに!

%e3%83%ab%e3%83%bc%e3%83%a0%e3%83%9f%e3%83%a9%e3%83%bc%e3%83%a2%e3%83%8b%e3%82%bf

AV1

簡易セレクタ経由でHKS CAMPとフロントカメラを接続。

(簡易セレクタの切り替え端子に12Vかければ、CAMP→カメラとなる)

AV2

KENWOODの古いHDDナビを接続

(ルームミラーモニターのバックセンサーに12Vかければ、AV2に切り替わる)

ということで、、2chリレー制御回路を製作!

回路は、こんな↓感じで。

monicam_ctl

room-02は、秋月版で。

p_20161002_000306_vhdr_on_1

とりあえず、完成。

スイッチ入力と、WiFi(MQTT)経由で、リレーのOn/Offが可能。

スイッチは、トグル。

WiFi(MQTT)からは、On/Off直接指定。

p_20161002_002926_vhdr_onp_20161002_002945_vhdr_on

続く!

操作音用のサウンダーを作るの巻 (その3)

Sounder(Teensy3.2側)をちょっと、仕様変更。

  • 電子コンビからの入力は、D0固定
    • その変わり、MQTT経由で、音番号を変更できるようにした。
  • MicroSDリーダーを接続(SPI)
  • アンプ変更
  • スピーカーボックス作りなおし
    • テプラテープの空箱にスピーカーをマウント!(w

p_20160925_003806_vhdr_on

WiFi MQTT Client(WROOM-02側)も完成したので、ちゃんと箱詰め!

p_20160925_002317_vhdr_onp_20160925_002321_vhdr_on

閉じたところ↓

p_20160925_002858_vhdr_on

全体↓

p_20160925_004026_vhdr_on

上から

  • WiFi MQTT Client for Sounder
  • Sounder for NaO10 MZ20
  • スピーカー

一旦、Sounder側のユニットは完成

後は、車載PC,エアコンパネルPC,ステアリングパッドPCの各アプリの開発かな。

構成は、こんな↓感じ

sounder_chart

回路図(ver. 0.3)

sounder_v03

続く。。

 

操作音用のサウンダーを作るの巻 (その2)

お次は、WROOM-02側の作成。

ブレッドボード上でテストしてー

p_20160922_042247_vhdr_on

Teensyとは、software serial(RX:IO12,TX:IO13)でやることに。

ついでに、I2C-LCDも。

うまくいったので、基板へ。

p_20160923_135014_vhdr_onp_20160923_135036_vhdr_on

とりあえず、Sounder(Teensy)側のみ、実車へ。

いい感じw

修正版の回路

3ch_sounder_v02

WROOM-02のmqttには、

Arduino Client for MQTT ( http://pubsubclient.knolleary.net/index.html )

を利用

 

続く。

ETC2.0化に向けて(その5)

stradaテストはまだまだ続く。

ちゃんとした安定化電源でテストしたら、タッチパネルの不具合は皆無になった(w

20160623_112505

電源のノイズが悪さしてたかも!?

ちょっと安心ということで、ステアリングスイッチの続きです。

回路作って~

20160624_035948

設定してみた!

20160624_040418

VOL UP,VOL DOWN,MUTE,現在地の4つ!

うまくいったヨ

(参考)

  • 回路はちょっと手直し(PCからの入力はソフトウェアシリアルで)
    stssw_for_mz20_strada_2
  • for Arduino Nano
    /*
     * Steering Switch Controller
     * 
     * 1: VOL-UP
     * 2: VOL-DOWN
     * 6: 現在地
     * 7: Mute
     */
     
    #include  <SoftwareSerial.h>
    #define PIN_CTL 4
    #define PIN_DA1 7
    #define PIN_DA2 8
    #define PIN_DA3 9
    #define PIN_LED1 13
    
    #define RX_PIN 5
    #define TX_PIN 6
    
    SoftwareSerial strada(RX_PIN,TX_PIN);
    
    int pos=0,mode=0;
    #define MAX_LENGTH 64
    char serial_str[MAX_LENGTH+1];
    
    void setup() {
      pinMode(PIN_LED1, OUTPUT);
      pinMode(PIN_CTL, OUTPUT);
      pinMode(PIN_DA1, OUTPUT);
      pinMode(PIN_DA2, OUTPUT);
      pinMode(PIN_DA3, OUTPUT);
      digitalWrite(PIN_CTL,LOW);
      digitalWrite(PIN_DA1,LOW);
      digitalWrite(PIN_DA2,LOW);
      digitalWrite(PIN_DA3,LOW);
      strada.begin(9600);
    }
    
    void loop() {
      char ch;
      if(strada.available()>0){
        while(strada.available()){
          ch=strada.read();
          if(ch==13)continue;
          if(ch==10){
            int num=atoi(serial_str);
            if(num>0 && num<8){
              outputdata(num,mode);
            } else if(num==0){
              if(mode==0){
                mode=1;
              } else {
                mode=0;
              }
            }
            pos=0;
            serial_str[0]=0;
          } else if(ch>9 && ch<128) {
            if(pos<MAX_LENGTH){
              serial_str[pos]=ch;
              pos++; serial_str[pos]=0;
            }
          }
        }
      }
      delay(10);
    }
    
    void outputdata(int num,int mode){
      int i,d1,d2,d3;
      digitalWrite(PIN_CTL,LOW);
      if(num>8 || num<1)return;
      switch(num){
        case 1: d1=LOW; d2=LOW ;d3=HIGH; break;
        case 2: d1=LOW; d2=HIGH;d3=LOW;  break;
        case 3: d1=LOW; d2=HIGH;d3=HIGH; break;
        case 4: d1=HIGH;d2=LOW ;d3=LOW;  break;
        case 5: d1=HIGH;d2=LOW ;d3=HIGH; break;
        case 6: d1=HIGH;d2=HIGH;d3=LOW;  break;
        case 7: d1=HIGH;d2=HIGH;d3=HIGH; break;
      }
    
      // Set Data
      digitalWrite(PIN_DA1,d1);
      digitalWrite(PIN_DA2,d2);
      digitalWrite(PIN_DA3,d3);
    
      // Push Swicth
      digitalWrite(PIN_CTL,HIGH);
      digitalWrite(PIN_LED1,HIGH);
      delay(100 + (mode*1200) );
      digitalWrite(PIN_LED1,LOW);
      // Release Switch
      digitalWrite(PIN_CTL,LOW);
    
      // Reset Data
      digitalWrite(PIN_DA1,LOW);
      digitalWrite(PIN_DA2,LOW);
      digitalWrite(PIN_DA3,LOW);
    }
    

続く。

ステアリングパッドLCD(とりあえず完)

最低限のアプリはできたので、とりあえず完ということで。。

20160211_005649

  • ODO,Trip3の表示
    • PC8号(mz20-h77-new)よりpush(MQTT)
  • 現在地(都道府県、経度・緯度)表示
    • PC8号(mz20-h77-new)よりpush(MQTT)
  • 現在の曲情報表示
    • PC8号(mz20-h77-new)よりpush(MQTT)
  • エアコン状態表示
    • エアコンRaspberry Pi2(mz20rpi2)よりpush(MQTT)
  • 情報表示
    • PC8号,sa-nocサーバより,tachibana経由にてpush(MQTT)
  • 時計

芝浦PAにて

20160211_021152

20160211_020941

以上!

ステアリングパッドLCD(その4)

アプリはとりあえず、グローバルメニューボタンを作ってみた。

20160204_21484720160204_214906

そんでもって、車載テスト~

20160204_22284220160206_020134

ちゃんと、ホーン機能もインプリしてますヨ(w

MZ20_RpiZero

20160204_22293620160204_223019

↓休止モード!?(w

20160204_223100

まずはOK!

いい感じ!

あとは、車内無線LAN接続関連とアプリ開発ですね。ネタも含めて(w

続く~

サテライトスイッチコントローラレシーバー(Pad-RX)メンテナンス

先日の車載PCメンテに伴い、PCオーディオの音量制御を変更した関係で、Pad-RXのファームを改修した。

  • 車載PCのALSAミキサーを、ソフトウェアミキサー→マスターミキサー(デジタル出力に対しては無効)へ変更
  • サテライトスイッチのボリューム入力の処理を、PC動作時でも、IrLED出力をするように、Pad-RXのファームソースの修正(PIC16F88)
  • そんでもって、Pad-RXのPICを変更したバージョンに差し替え。

20160126_184355

↑ New Firmware

diff

--- pad_rx_2015.asm     2015-07-06 08:52:10.147153696 +0900
+++ pad_rx_2016.asm     2016-01-25 21:28:27.131434100 +0900
@@ -20,6 +20,10 @@
        org     0x2100
        de      "PAD-RX(PIC16F88) Version 0.21 2016/01/25 21:27"

+       ; Version 0.21 2016/1/25
+       ;  modify for Volume
+       ;   Volは、PCモードでも、Ir出力するように。
+
        ; Version 0.20 2015/7/6
        ;   modify for pad_tx_2015

@@ -415,10 +419,9 @@
         goto   V_UP_normal

 V_UP_pc
-        movlw   '5'                    ; '5'を出力
-        movwf   TXREG
-        goto    main_loop
-
+        movlw  '>'                     ; '>'を出力
+       movwf   TXREG
+
 V_UP_normal
        movlw   B'110'
        movwf   IR_DATA
@@ -437,9 +440,8 @@
         goto   V_DOWN_normal

 V_DOWN_pc
-        movlw   '6'                    ; '6'を出力
-        movwf   TXREG
-        goto    main_loop
+       movlw   '<'                     ; '<'を出力
+       movwf   TXREG

 V_DOWN_normal
        movlw   B'111'

(ソース全体はこちら)

そんでもって、中目のコインパーキングで、入れ替え!

20160126_19082820160126_191346

外した子↓

20160126_191935

↑ 2015/7/6 Ver.

一応、システム構成(?)再掲。

サテライトスイッチ

  • Pad-TX
    • スイッチ入力を、UART(TTL)信号で、Pad-RXへ送出
  • Pad-RX
    • Pad-TXから受けた信号を処理。
      • PC関連は、UART(TTL)→USB-Serialで、PCへ送出
      • オーディオ(Strada CN-HX3000D)制御は、IrLED(赤外線リモコン)で送出
      • サンキューハザードは、リレー出力で制御。

以上!

20160126_19432420160126_194427

逆ジオコーディング環境構築中

20150816_035423

車載PC+車載Rpi2(AirconPanel PC)にて、逆ジオコーディング(緯度・経度から市区町村名を抽出)環境を構築

車載PC側

  • USB接続のGPSレシーバより、現在地(NMEAフォーマット)を入力
  • NMEAフォーマットのGGAより、緯度・経度を抽出
  • Postgresql+Postgisにて緯度・経度より、市区町村名を抽出
    • Postgresqlは、9.3を利用
    • Postgisは、2.1を利用
  • ログ出力
  • 現在地ファイル更新(httpdのdocument)

Rpi2側

  • 5秒に一度、車載PCより現在地ファイルを読み取り(車内LAN/http経由)
  • geoinfo(自作)アプリにて表示
    • GUI APIとしてgtk2を利用
    • 情報は、fifio(pipeファイル)経由で入力

ToDo

  • 市区町村変更時(移動により)に、ログを更新
  • 時刻、緯度・経度、市区町村名、その時点でのodoを併せてログ出力
  • 定期的に、サーバーへsync
  • etc.

 

車載PC googlemap連動

作業

2010/3/21(日) @藤が丘

2010/3/22(月)

  • 17:00頃 連動中画面20100322_0120100322_0220100322_03

今回の作業メニュー

2010/3/21(日) 20:00 – 25:30

  • 改造
    • 車載PCからGPS位置情報(緯度・経度・高度・速度)を自宅サーバ(龍山)へ送信
    • 車載PCのブラウザで現在地地図を自宅webサーバ(順天)経由で表示(Google Map API)
    • Xの解像度を1024×768→800×480へ変更(アスペクト比がおかしかったため。車載PC用モニタの実解像度は800×480)
    • AMボタン長押しで”Firefox起動”,FMボタン長押しで”Firefox終了”
    • GPSデータは、USB-GPSレシーバ( http://item.rakuten.co.jp/gps/rgls-usb-353/ )より取得(/dev/ttyUSB1接続)
    • 自宅サーバへのデータ送信、ブラウザ表示は、USB無線LAN→E-Mobile(Pocket WiFi)にて通信。
  • プログラム
    • 車載PC側
      • GPSデータログ&送信 (gps.c gps.php)
      • Firefox制御 (recv1.c)
    • 自宅サーバ側
      • 表示用スクリプト (NaO10.html, maps.php)
      • Googlemap APIへのデータ受け渡し (data_x.php, data_y.php, data_z.php)