2020年5月

蓝牙makeymakey

psb.jpg
微信图片_20200709113545.jpg
微信图片_20200709113527.jpg
微信截图_20200629114632.png
微信截图_20200623185339.png
微信截图_20200622170643.png
微信截图_20200622170631.png
微信截图_20200622170119.png


淘宝链接

移动wifi 电池鼓包 改dcdc 供电

买了好久的移动wifi 由于信号不好,便把它放在窗台上,信号是好了,太阳照射久了 电池鼓包了,供电不稳,导致经常死机或没网络。拆掉电池又没法工作,于是 改装了个dcdc 为其供电
微信图片_20200527101220.jpg
微信图片_20200527101220.jpg
原来输出是3.3v 而实际需要是3.7~4.2v
微信截图_20200527101834.png
通过反推可以
3.3v/(10k+2.2k)=?v/2.2k
可以计算出反馈电压为0.595v
若想获得3.7~4.2v的输出
(3.7~4.2v)/(10k+?k)=0.595/?k
化简后是这样的37k+3.7k2-0.595=0(具体再怎么算呢,得问问初中数学老师)
但根据经验又受限于条件,选择性并不多,拆了另外板子上的10k 电阻与2.2k 电阻并联
微信图片_20200527101216.jpg
发现输出的电压简直完美
微信图片_20200527101213.jpg
微信图片_20200527101210.jpg
微信图片_20200527101200.jpg
装上后发现板子有点长,于是
微信图片_20200527101203.jpg
刚刚好
微信图片_20200527101154.jpg

微信图片_20200527101206.jpg
完美

简单方便的使用datamark 用做 树莓派监控

第一步:
访问http://dm.trtos.com/ 获取id
会跳转到 http://dm.trtos.com/web/datamark/index.php?id=4DRtDABC 后面的4DRtDABC就是id
第二步
http://dm.trtos.com/web/datamark/set.php?id=4DRtDABC&name=这里填入项目&value=这里填入描述
第三步
访问 http://dm.trtos.com/web/datamark/index.php?id=4DRtDABC 就可以直接看到记录,可删除打印等
非常简单
微信截图_20200522104416.png

树莓派python 代码

import requests
url = "http://dm.trtos.com/web/datamark/set.php?id=4DRtDABC&name=这里填入项目&value=这里填入描述"
r = requests.get(url)
print(r)

python Post 数据 PHP 接收保存

KMjjTas.jpg

python端 读取文件post base64格式的数据

import base64
import urllib
import requests
name="KMjjTas.jpg"
f = open(name, 'rb')
img =base64.b64encode(f.read())
res = requests.post(url="http://www.xxxx.com/index.php?name="+name, data=img)
print(res.text)

php端 接收post base64格式数据解码 保存

<?php
    $postStr = file_get_contents("php://input");
    $name=$_REQUEST['name'];
    $decodedData = base64_decode($postStr);
    file_put_contents('tmp/'.$name,$decodedData);
    echo "write ok";
?>

编程绘画 安卓编程软件 废旧安卓变废为宝

编程绘画 是一款 可单机可在线的编程系统,轻松的编程体验,终身免费。通过ID 绑定即可实现 在线web 编程 一键运行到安卓端
使用模式:

  1. 在线编程 安卓端绘画
  2. 安卓端编程,安卓端绘画
  3. A安卓端编程,B安卓端绘画

安卓端下载地址
程序截图
A10A9B2E7C359CEFE716C3622D902AD3.jpg
FC93182F7A066F4376D1FFBCBBCEFD4B.jpg
在线编程截图
屏幕快照 2020-05-11 下午8.55.43.png

【编程绘画】触摸的使用

fileMonitor 检测文件变化 执行脚本

检测文件发生变化 启动脚本并传入 变化的文件名用于 修改同步 文件到ftp adb linux 等 代码同步修改
源码下载地址
FileMonitor2.0exe
使用时 把 需要执行的脚本拖动到 fileMonitor 即可
需要执行的代码 通过%1%获取 变动的文件路径 具体干什么看具体需求
mac端 稍后更新上来
代码贴出来

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Threading;

using System.Diagnostics;
namespace FileMonitor
{
    class Program
    {
        static void Main(string[] args)
        {
            string File2;
            if (args.Length<1)
            {
                Console.WriteLine("请输入要执行的文件....");
                File2 = Console.ReadLine();
            }
            else File2 = args[0];
            Console.WriteLine("监控目录[" + AppDomain.CurrentDomain.BaseDirectory + "]" + "执行文件[" + File2 + "]");
            FileSystemWatcher watcher = new FileSystemWatcher();
            watcher.Path = AppDomain.CurrentDomain.BaseDirectory;
            watcher.NotifyFilter =NotifyFilters.LastWrite |NotifyFilters.FileName;
            watcher.Changed += (object source, FileSystemEventArgs e) =>
            {
                Console.WriteLine("文件{0}已经被修改,修改类型{1}", e.FullPath, e.ChangeType.ToString());
                //System.Diagnostics.Process.Start(File2);
                exec(File2, e.FullPath);
            };
            watcher.Created += (object source, FileSystemEventArgs e) =>
            {
                Console.WriteLine("文件{0}被建立", e.FullPath);
            };
            watcher.Deleted += (object source, FileSystemEventArgs e) =>
            {
                Console.WriteLine("文件{0}已经被删除", e.FullPath);
            };
            watcher.Renamed += (object source, RenamedEventArgs e) =>
            {
                Console.WriteLine("文件{0}的名称已经从{1}变成了{2}", e.OldFullPath, e.OldName, e.Name);
            };
            watcher.EnableRaisingEvents = true;
            while (true) Thread.Sleep(1000);
        }
        public static void exec(string exePath, string parameters)
        {
            Process process = new System.Diagnostics.Process();
            process.StartInfo.FileName = exePath;
            process.StartInfo.Arguments = parameters;
            process.StartInfo.UseShellExecute = false;
            process.StartInfo.CreateNoWindow = true;
            process.StartInfo.RedirectStandardOutput = true;
            process.Start();
            process.BeginOutputReadLine();
            process.OutputDataReceived += new DataReceivedEventHandler(processOutputDataReceived);
            process.WaitForExit();
            process.OutputDataReceived -= new DataReceivedEventHandler(processOutputDataReceived);
            Console.WriteLine("执行完毕");
        }

        public static void processOutputDataReceived(object sender, DataReceivedEventArgs e)
        {
            Console.WriteLine(e.Data);
        }
    }
}

微信截图_20200508105631.png