【Setup】Lipgate

 

環境構築

Visual Studio2017

OpenFrameworks 0.9.8

 

・Windows 8.1 用 Windows ソフトウェア開発キット (Windows SDK)のインストール

 https://developer.microsoft.com/ja-jp/windows/downloads/windows-8-1-sdk
・include/リンカ設定
ソリューションエクスプローラー>openframeworksLib右クリック>プロパティ>c++全般>追加のインクルードディレクトリ
c:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\ucrt
ソリューションエクスプローラー>Multimonitor>右クリック>リンカ
>追加のライブラリディレクトリ
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.15063.0\ucrt\x86
・文字セット、マルチバイト文字jセットを使用する。
・Release/Win32でビルド

PrintService

サイドローディング(野良アプリ)

開発者モードにする

PowerShellで実行

 

uploader

python3.6.4

pip install requests

pip install python-osc

 

Creditインストール

vm_service2プロジェクト>プロパティ>構成のプロパティ>全般>文字セット>マルチバイト文字セットを使用する

libを下記へコピーし、プロジェクトにd&d追加

bin/lib
CANCD2.lib
PaymentServiceDLL.lib

 

dllを下記へコピー
bin
CANCD2.dll — GLORY
PaymentServiceDLL.dll — scspro
SCSProSIFM2V0.dll
SCSproSPP100G.dll
ssleay32.dll
libeay32.dll

 

インストール作業

・c:\Glory\Payment\iniフォルダを作成

 

デバッグ環境のみ
・infフォルダを上書きする。
inf-AnythingOK、デバッグ環境のときだけINFフォルダに上書きする。
テスト環境、本番環境の時はサーバーから取得できるので必要ない。

 

カードリーダー設定
・c:\Glory\Payment\にdllをコピー
・c:\Glory\Payment\ini\Settings.iniを作成。

Settings.iniの内容
[Device]
PID=5346
VID=0b6a
MSR=SP170500014
PIN=SP170500012

端末のIDを記載する。
MSRは、カードをスワイプする端末
PINはPIN入力する端末

 

クレジットネットワーク設定

・PCを192.168.0.61に設定

・コマンドプロンプト>管理者特権で実行
・route -p add 210.136.55.0 mask 255.255.255.0 192.168.0.254

・route print

 

INIフォルダの作成

・canc_initツール、テスト系本番系を切り替え。

c:\\glory\test\ini

c:\\glory\production\ini

 

・tidとクレジット、dllのipを変更。

・実行してINIフォルダを作成。

 

Lenovo ThinkStation

Windows 10 Pro

デバイスマネジャーの設定

COM4 PLC

COM5 Barcode

COM6 搭乗券Scanner

 

windows updateの停止

 

運用

起動処理

朝 9:00に自動起動

終了処理

・MAINTAINANCE > TERMINATE

・shutdown.bat

アプリ・コンテンツ更新

・Update_App.bat

・Update_Contents.bat

 

【設置機器セットアップ】

・python3.6.4

・pip install requests

・pip install python-osc

・USB/LANドライバ

・VisualSudio2017 再配布パッケージ(x86)インストール

・c:¥LipGate

・app/contents upload

 

・BIOS設定

・自動起動 netplwiz

・通知とアクション全てOFF

・メニュー右下

非通知モードをオンにする。

通知の無効化

アプリのアイコン非表示

新しい通知非表示

 

・不要なアプリ削除

Intel Management Engine Components

Lenovo welcom

Lenovo Vantage

sportify

sketchbook

OneDrive

My Office

One Note

Skype

Windows10更新アシスタント

XBOX Live

アプリインストーラー

 

Windows Update自動更新停止

windows 10 home

プロにアップグレードする。

・サービスを起動

メニューバーのところから、services.mscと入力。

Windows Update スタートアップの種類 無効

サービスの状態 >停止

 

グループポリシーを有効にする

https://www.itechtics.com/easily-enable-group-policy-editor-gpedit-msc-in-windows-10-home-edition/

homeと、Proだと項目が違うので結局ダメ

 

windows 10 pro

・ローカルグループポリシーエディタを開く

メニューバーのところから、gpedit.mscと入力。

 

[コンピューターの構成] – [管理用テンプレート] – [Windows コンポーネント] – [Windows Update]
[自動更新を構成する] を ”無効”

1607とか古いバージョンでは、下記の項目になっている。

[コンピューターの構成] – [管理用テンプレート] – [Windows コンポーネント] – [Windows Defender ウイルス対策]-[Windows Defender ウイルス対策を無効にします] を ”有効”

 

– ストア アプリの自動更新を無効化
[
コンピューターの構成] – [管理用テンプレート] – [Windows コンポーネント] – [ストア] –
[
更新プログラムの自動ダウンロードおよび自動インストールをオフにする] を “有効”

 

– Microsoft コンシューマー エクスペリエンスの無効化
[
コンピューターの構成] – [管理用テンプレート] – [Windows コンポーネント] – [クラウド コンテンツ] –
[Microsoft 
コンシューマー エクスペリエンスを無効にする] を “有効”

 

– ドライバーの検索を無効化
[
コンピューターの構成] – [管理用テンプレート] – [システム] – [デバイスのインストール] –
[
デバイス ドライバーを検索する場所の順序を指定する] を “有効” かつ
オプション [検索順序を選択する] にて、”Windows Update を検索しない” を指定

 

 

Windows 10 / Windows Server 2016 でも Windows Update の自動更新は止められます

 

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;
}

ディスプレイポート

グラボには、#20 PINが結線していないケーブルをつなぐ事。

20PINは3.3V供給。

斜めになってるとこのピン

 

シャットダウン後に電源ボタン押しても起動しなかったのはこいつが原因だった。。

 

 

—–以下転載——-

https://blog.tsukumo.co.jp/fukuoka/2016/02/supportblog1602_02.html

 

4Kモニターのような高解像度モニターや、ゲーミングモニターのような高リフレッシュレートのモニターの性能を完全に発揮させるためには、DisplayPortでの接続が推奨されています。

モニターにDisplayPortケーブルが付属している場合は特に問題は無いのですが、DisplayPortケーブルをモニターとは別に用意しなければならない場合には、 ケーブルの規格(1.1、1.2など)以外にも注意すべき点があります。

それはDisplayPortケーブルの20番ピンが結線されている電源供給対応のケーブルかどうかという点です。 このピンは切替器にモニター側から3.3Vの電源を供給するための配線となっており 、通常のモニターとグラフィックボードを接続する場合には必要のない結線になります。

一部のモニターとグラフィックボード・マザーボードの組み合わせでは、20番ピンの結線された全結線の電源供給対応のDisplayPortケーブルを使用すると、 画面表示に乱れやノイズが生じたり、スリープへの移行や復帰に失敗するといった不具合が発生する事があります。

20番ピンの結線の有無は見た目では判断が付かない場合が多いため、 DisplayPortケーブルを選ぶ際は バージョンと20番ピンの結線について明記しているものをお求めいただくをオススメいたします。

【Android】Fragment Lolipop以降

Activity

    FragmentManager fragmentManager = getFragmentManager();

    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();

    LoginFragment login_fragment = new LoginFragment();

   

    fragmentTransaction.setCustomAnimations(

        R.animator.fadein,

        R.animator.fadeout

        );

   

    fragmentTransaction.replace(android.R.id.content, login_fragment);

    fragmentTransaction.commit();

 

animaotr/fadein.xml

<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"

    android:interpolator="@android:interpolator/linear"

    android:valueFrom="0"

    android:valueTo="1"

    android:propertyName="alpha"

    android:duration="200" />

NFC

brew install bzr

bzr branch lp:nfcpy
brew install libusb
brew install libusb-compat
sudo pip install –pre pyusb

cd nfcpy
python examples/tagtool.py

[nfc.clf] searching for reader with path ‘usb’
[nfc.clf] using SONY RC-S380/P at usb:020:006
[main] touch a tag
Type3Tag IDm=012e34e730553b52 PMm=00f1000000014300 SYS=88b4

 

参考

http://techblog.qoncept.jp/?p=175