【Arduino】MKR1300

IMG_2597 IMG_2601 IMG_2599

Arduino MKR1300

https://www.arduino.cc/en/Guide/MKRWAN1300

https://store.arduino.cc/usa/mkr-wan-1300

 

$39

Coretex-M0

Lora 433/868/915 MHz

3.3V

Serial  usb micro-B connector

Serial1   pin 13(RX), 14(TX)

Please note: for best result, do not attach the antenna to a metallic surface like car chassis, etc.

 

 

【iOS】Realm build

Xcodeをバージョンアップしたときに、Realmのビルドしたバージョンとの違いが問題になる。
Module compiled with Swift 4.0 cannot be imported in Swift 4.0.3:


git clone https://github.com/realm/realm-cocoa
git submodule update --init --recursive
build.sh build

7SEG BOARD Mega V 1.0

7seg board mega.

 

IMG_2290 IMG_2292

 

v.1.0 修正箇所

・ボードの大きさを7SEGよりちょっと小さめに

・7segは、ボード直付けでなくメスソケット半田付けにする(取り外し可で、ボードネジ止め可能)

・I2C 4pinオスソケット

・電源2ピンオスソケット

・トランジスタのサイズ確認

・7segのサイズ確認。ピンずれ

PCB

 

DesignSpark PCBクイックスタート

https://designspark.zendesk.com/hc/ja/articles/212966269-DesignSpark-PCB-%E3%82%AF%E3%82%A4%E3%83%83%E3%82%AF%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%88%E3%82%AC%E3%82%A4%E3%83%891-%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C%E7%B7%A8-

 

how to create my own component.

https://designspark.zendesk.com/hc/en-us/articles/115003968769-How-do-I-create-my-own-components-

 

Fusion PCB

https://fusionpcb.jp/

【Python】AES暗号化

from Crypto.Cipher import AES
import binascii

#print(binascii.hexlify(uuid.uuid4().bytes))

secret_key = ‘abcdefghijklmnop’
message = ‘1234567890abcdef’

crypto = AES.new(secret_key)

cipher_data = crypto.encrypt(message)

print(binascii.hexlify(bytearray(cipher_data)))

original_message = crypto.decrypt(cipher_data)
print(original_message)

【Djnago】カスタムテンプレートタグ

 

project/app/ templatetagsフォルダ作成 — my_tag.py

 

my_tag.py


from django.template import Library, Node, Variable, VariableDoesNotExist, TemplateSyntaxError

register = Library()

@register.tag
def cut(value, arg):
return value.replace(arg, ”)

 

このテンプレートタグを使って、uuidの-をカットする例

 

template

var marker_icon_{{ uuid|cut:”-” }} = new google.maps.Marker({

 

 

HDC1050

main.ino

#include "I2C.h"

I2C i2c;

byte buf[8];
float temp;

void setup() 
{
  //I2C
  i2c.setup();
   
  Serial.begin(115200);
  while (!Serial) ;
}

void loop()
{
  // Manifacture ID
  i2c.read_reg(buf, 0x40, 0xfe, 2);
  for(int i=0; i<2; i++){
    Serial.print(buf[i] ,HEX);
  }
  Serial.println("");

  // temperature
  unsigned short _t;
  i2c.read_reg(buf, 0x40, 0x00, 2);
  _t = buf[0];
  temp = 165.0 * ((_t << 8) | buf[1]) / 65536-40;
  Serial.println(temp);

  // humidity
  i2c.read_reg(buf, 0x40, 0x02, 2);
  _t = buf[0];
  temp = 100.0 * ((_t << 8) | buf[1]) / 65536;
  Serial.println(temp);

  delay(1000);

}

I2C.h

#ifndef I2C_H
#define I2C_H

#include "Wire.h"

class I2C {

  public:
    I2C();
    
    int setup();
    byte* I2C::read_reg(byte* buf, uint8_t addr,uint8_t reg, int num);
    
};
#endif

I2C.cpp

#include "Arduino.h"
#include "I2C.h"

I2C::I2C() {

}

int I2C::setup() {

  Wire.begin();

}

byte* I2C::read_reg(byte* buf, uint8_t addr,uint8_t reg, int num){

  Wire.beginTransmission(addr);
  Wire.write(reg);
  Wire.endTransmission();

  delay(50);
  
  Wire.requestFrom(addr, num);
  while (!Wire.available());

  for (int i=0; i < num; i++) {
    buf[i] = Wire.read();
  }

  return buf;
}