分类 未分类 下的文章

将产品设计中引起量产的问题以及如何避免在这儿做累积式总结.

设计类型 设计原则 节约的成本 其他
PCB TTL型烧录口统一线序(VTRG) 开发不同产品PCB时,频繁需要调整线序的时间和精力成本 -
PCB 烧录口应布置在板边 1. 无法用测试夹夹住导致的问题; 2. 被固定电路板的结构件遮挡而无法烧录的问题 -
PCB 烧录拨码开关放置在拧螺丝的PCB面 避免烧录时需要拆下螺丝调整拨码开关 -
PCB 大功率DC座使用金属多簧片座/MOS管延时电路 避免插入DC座打火 -
外观 金属材质的表面处理最好应提现金属材质 1. 非金属表面效果容易产生"塑料感", 是廉价的代名词;2.非金属表面处理效果往往不如金属质感的处理效果 -
外观 喷油工艺细腻度高于喷粉,厚度低于喷粉,价格高于喷粉,适用于小件和高端件 选择适当的工艺,避免影响用户对品牌价值的判断,引起品牌价值损失 -
外观 喷油和喷粉都会有杂质,在供应链水平不高或产品量少不能进无尘车间时,应选择遮盖杂质的颜色,如黑或白色掺入银粉混色/灰色 不当选色造成良品率低, 或杂质色影响用户观感 -

AC策略从政策/传统/市场三个方面来看.
首先看共同点. AC都是政绩型的,也就是说倾向于解决:

  • 看起来更有宣传噱头而不是实际效益更大的问题
  • 眼下的问题而不太是长期的问题
    从政策来看, 对一个问题如何解决, A由于是投票制, 反应迟缓,决策缓慢,执行不力. 但执行落实为法律法规, 过程是严格严肃的. C是集中制, 反应和决策迅速, 执行力强(惩罚力度强). 但下层执行缺乏思考, 政策的临时性强, 容易过度执行和形式主义执行. 在遇到政绩型问题时, A是政策和市场都在解决, 而C主要是政策主导解决.问题越大, C的政策性越强, 市场空间越小.
    从市场看, AC的市场反应都灵敏. 但C的市场受政策影响度远高于A. C鼓励的市场发展迅速, C限制的市场衰退也迅速. A是利润高的市场发展快, 反之亦然.
    从传统看, A的传统短且少,而且主要是自由主义的, 其政策也是和传统一致的. C的历史是A的20倍以上, 传统长且多,但传统让位于政策, 政策可以随时改变传统.

很多行业,渠道利润率都高过或者远远高过原厂利润率。那么是什么原因导致渠道利润率高,原厂利润低的呢?
我估计,销售做的事情越多的,就越需要更高的利润率。包括:

  • 与消费者做很多沟通,或者消费者需要现场体验的才能卖掉的
  • 需要更频繁的专业售后服务,消费者不能自助完成的,包括安装/调试/清洁/回访/维修等
  • 由于政策原因,渠道受限的
  • 原厂品牌不够强势的
  • 产品开发或生产门槛低的
  • 厂家竞争对手多的
    角膜塑形镜具备1/2/3特点,其需要验配师验配,定期回访指导清洁等,由于需要实际体验和定制,消费者需要多次到店,渠道也受到医疗限制
    烟花有3/4特点,不能电商销售,只能通过当地摊贩销售,除了浏阳地名以外品牌没有知名度
    烟草有4/6特点,不能电商销售

参考
https://hbayraktar.medium.com/how-to-install-ssl-certificate-on-apache-for-centos-7-38c25b84d8b1
https://help.aliyun.com/document_detail/98727.html?spm=0.2020520163.help.dexternal.7b14nPmVnPmVV3
apache上要先安装ssl模块, 默认是不装的.

yum -y install httpd mod_ssl
sudo systemctl enable httpd.service
systemctl start httpd.service

把apache的ssl证书下载下来, 我用的是阿里云, 下载的证书有三个文件: .key,public.crt和chain.crt, 存到服务器上
修改apache配置文件/etc/httpd/conf.d/ssl.conf, 修改前先备份
<VirtualHost></VirtualHost>之间删掉, 直接用阿里云文档提供的模板, 注意, 如果修改了443端口, 如改为4000,则也需要改掉

<VirtualHost *:4000>     
    ServerName  www.xxxxxxxx.com:4000 #修改为申请证书时绑定的域名。                    
    DocumentRoot  /data/www/hbappserver/public          
    SSLEngine on   
    SSLProtocol all -SSLv2 -SSLv3 # 添加SSL协议支持协议,去掉不安全的协议。
    SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM   # 修改加密套件。
    SSLHonorCipherOrder on
    SSLCertificateFile cert/domain_name1_public.crt   # 将domain_name1_public.crt替换成您证书文件名。
    SSLCertificateKeyFile cert/domain_name1.key   # 将domain_name1.key替换成您证书的密钥文件名。
    SSLCertificateChainFile cert/domain_name1_chain.crt  # 将domain_name1_chain.crt替换成您证书的密钥文件名;证书链开头如果有#字符,请删除。
</VirtualHost>

删除ssl.conf文件中的listen 443 https, 修改/etc/httpd/conf/httpd.conflisten 4000listen 4000 https
登录wp后台, 下载一个Really Simple SSL,按提示开启ssl. (这一步与上一步可能先后次序不对, 实际可尝试一下)

搞了个6盘位的星际蜗牛NAS,下面是记录。

硬件组装

本质上就是一个多盘位的电脑,但用起来和电脑有很多不同。只需要插网线和电源就行。
如果插HDMI开机,只会显示4行字就卡在那儿不动了。

Booting `RedPill DS918+ v7.1.0-42661(USB, Verbose)`

Loading Linux...
Loading initramfs...
Loading kernel with USB boot
_

这就是正常的了。
网线和有网口的电脑直连,不需要开DNS或者配置电脑IP,用默认的169.x.x.x的IP就可以。
准备一个空白SATA硬盘(或者是数据已经备份的),插入NAS,这个硬盘将被格式化。

安装软件

王航卖家说已经装好了群晖 DS918+的固件,也就是在内置一个SSD上装的img文件。需要用启动盘来装。网上有卖,也可以自己做。
群晖网站下载.pat系统,需要和硬件以及固件系统一致,如DS918+v7.1.0-42661
下载Synology Assistant并安装,点击搜索,会搜索出来网线直连的NAS,点击进入管理主页,选择.pas进行安装。
后面都会在浏览器中操作。
填写用户名和密码,要记牢。这是以后的网页登录、ssh登录、smb登录的用户名密码。
跳过自动更新(一定要选手动更新)和注册群晖账号。
装好以后,先修改一个和路由器同网段的静态IP、网关、DNS,注意不要和已有IP冲突。
等待设置完毕,把网线连回路由器,电脑也连上路由器,浏览器访问刚才的设置的IP地址进行管理。
可以开启ssh和文件共享。

直接使用NTFS硬盘的方式

加入NAS的硬盘,如果使用在存储管理器>存储空间中创建存储空间的方式增加,则硬盘必须被格式化,以便设置为群晖的硬盘类型。群晖基于ext4或者btrfs磁盘格式组建RAID。为便于后期增加磁盘扩展,又有几种扩展格式,即SHR、Basic、JBOD。建议Basic类型。
如果是从Windows系统过来的数据盘,一般是NTFS格式的,则不能用上面的方式加载,而是需要用linux的mount命令,使用root权限加载。
这时候需要知道什么磁盘加载到什么位置。

什么磁盘

存储管理器>存储空间中可以看到什么磁盘,如磁盘1磁盘2等等,这与linux的磁盘有对应关系,即sda sdb等等
群晖磁盘名|linux磁盘名
--|--
磁盘1|sda
磁盘2|sdb
磁盘3|sdc
磁盘4|sdd
磁盘5|sde
磁盘6|sdf
分区则对应是数字,如sdd1则是1号分区,sdd2则是2号分区。但是分区有时候并不连续,最好可以通过ssh username@ip的方式登录上去看看。
查看当前有哪些磁盘分区:

ls /dev/sd*

查看每个分区的大小和格式化类型

sudo fdisk -l

查看已经挂载的分区的情况

df -h

如上,比如发现了sde2 sde5使我们需要挂载的分区,这一步结束

挂载到哪儿

回到web页面:

  • 控制面板>共享文件夹,增加共享文件夹,如T2,设置名称并取消回收站功能。
  • File Station选择刚才创建的T2新建文件夹,普通文件夹即可,如C D,对应C盘和D盘。右键看下文件夹属性,应该是/volume1/T2/C/volume1/T2/D这样的。这一步结束。

    撰写挂载Linux脚本并挂载

  • 控制面板>最下面的任务计划新增》触发的任务》用户定义的脚本,用户账号改为root,事件为开机,用户设置的脚本写mount命令:
mount -t ntfs /dev/sde1 /volume1/T2/C
mount -t ntfs /dev/sde2 /volume1/T2/D

保存。因为是root权限,会有一条警告,确认即可。这样开机就可以运行了。点右键可以立刻运行一次。然后到File Station里查看T2/C和T2/D就能看到了。

SAMBA(SMB)协议共享及问题

控制面板>文件服务中可以启用SMB协议。
但问题是通过mount挂载的硬盘会从smb共享中消失,umount以后又会出现。所以SMB只能看到通过存储管理器增加的RAID盘。

WebDAV文件共享

在安卓手机端的CX文件管理器中发现支持WebDAV文件共享,不过DSM默认没有安装webdav服务,需要在套件中心中下载并安装启用。
webDAV中能够看到所有共享的硬盘资源,包括ntfs mount的硬盘。并且视频文件不需要下载就可以观看。推荐!复制粘贴的体验也和一般文件夹无异。
Windows 10端WebDAV需要修改注册表和开启服务。

  • 注册表修改HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\BasicAuthLevel键值为2
  • 命令重启网络服务net stop webclient, net start webclient
  • 服务中开启webclient服务
  • 在Windows文件管理器中添加一个网络位置或者映射网络驱动器,链接位置写http://IP:Port, webdav http端口默认5005, https端口5006,不过实测5006打不开不知道为啥
    Windows10链接的磁盘似乎有点问题。我有个3T的盘就无法打开。

NFS文件共享

windows 10 home版本不支持,需要专业版才有nfs服务功能。第三方的nfs客户端几乎没有能用的。

FTP、SFTP共享

很奇怪,FTP在默认21端口上无法访问;开启SFTP使用Winscp才解决。
另外,windows 11 通过添加一个网络位置的方式对SFTP的支持有问题,会导致文件管理器窗口死机,且无法删除这个创建的网络连接

通过SCP共享

参考:https://phoenixnap.com/kb/sshfs
Windows 11 完美解决的方式是SCP,不过需要安装开源的第三方插件 winfspsshfs-win. 可选装sshfs-win-manager来进行GUI管理
安装完后,在添加一个网络位置中输入\\sshfs[.option]\<remote user>@<remote host>[!port][\path], 例如:
\\sshfs\user@192.168.3.3,然后输入用户名和密码。

局域网唤醒和上电唤醒

NAS bios修改

需要打开bios修改。NAS插上HDMI显示、接上USB键盘,开机狂按F11或者F7可以进入bios设置。修改对应设置即可。

群晖系统修改

需要在控制面板>硬件和电源>常规>电源自动恢复勾选启用局域网1的网络唤醒

远程唤醒准备

需要知道NAS的IP和MAC地址。IP是自己设置的,可以在控制面板>网络>网络界面中查询到。MAC地址可以找一台局域网内的电脑,在命令行输入arp -a查询对应IP的mac地址。如果没有,可以ping 对应IP后,再次arp -a来获取mac地址。

MAC上远程唤醒

mac上可以在mac商店里搜索wol或者直接下载WakeOnCommand。新增并填入IP/MAC地址即可。

Android上远程唤醒

谷——歌——商店下载wake on lan,也是增加IP/MAC即可。

Windows上远程唤醒

下载Nirsoft WakeMeOnLan软件,增加IP、MAC即可。

PS:目前硬盘的放置方式

有三个盘是旧盘,其中一个盘数据最少,备份出来,在安装群晖pat系统时候格式化为btrfs,作为系统安装用盘. 另外两个盘用原ntfs系统, 原数据,通过linux脚本mount命令挂载在文件夹中, 另外再买了两块4T紫盘组成RAID1作为最安全的数据存储.买4T的原因仅仅是因为现在(2022/12)4T最划算. 机械硬盘容量这几年似乎没有很大增长, 我八年前就买了3T盘, 十几年前就买了2T盘, 现在容量主流居然才是4T. 价格也没有很大下降, 似乎早已脱离的摩尔定律的制约了.

PS2:概念

iSCSI ICFS NFS

https://new.qq.com/rain/a/20210315A06ZTL00

从来没有把硬盘用到完全挂掉,但小米路由器成功地做到了。

以前硬盘最多是用到有坏道,而且是可以提前感知的。硬盘反复读取、吱吱作响,但不至于无法挂载或者文件系统坏掉。
而这次小米硬盘内置的1T三星2.5寸硬盘完全无法挂载、文件系统完全丢失了。
虽然网上对小米R1D路由器早有批评之声,说把路由器这个可能随时断电的系统放在硬盘上本来就很不可靠,而且会导致硬盘损坏数据丢失,但我却一直有侥幸心理,直到被现实暴击的这一天。个人数据非常重要但不会频繁读取,而系统数据却是会频繁读取导致硬盘寿命缩减。小米路由确实应该在发现硬盘读写存在问题前早点通知用户更换硬盘的。
话说,今年我已经因为SSD盘提示SMART故障换了一次了。
说说发现的过程和恢复的方法。

  1. SMB失效。首先发现通过smb无法访问硬盘。我用的是cx文件管理器,开始还以为是这个app的问题,安装了讨厌的广告巨多无比的ES文件管理器发现现象一样。我还重启了手机,还是不行。由于smb协议本身不稳定的传说,我第二天再次尝试,还是不行。此时才想到登录到路由器上看看。
  2. 路由器进入安全模式。通过网页登录路由器,发现登录界面不大一样了。默认手机登录时的界面是会适配手机的,结果发现界面变成了PC版本,输入框很小。登录以后发现路由器处于安全模式,给了两个选项:尝试恢复系统、备份硬盘。此时我还没有怀疑硬盘问题,先是断电重启了两次,故障相同。点击备份硬盘,过了好几十秒弹窗提示硬盘无法挂载。此时发现:可能是硬盘的问题。
  3. 尝试DiskGenius并放弃。下载并尝试DiskGenius,发现对于数据恢复是需要购买专业版本的,而且价格不菲,需要五六百块钱。这个价格我还不如用淘宝的数据恢复服务,似乎还便宜得多。
  4. 尝试GParted缩小问题范围。通过Alternativeto网站推荐的GParted,找了个U盘,用GParted推荐的软件Unetbootin安装LiveCD AMD64版本。我是Intel CPU但是i686版本运行不起来,很奇怪,也可能是U盘有问题。启动后,发现虽然找硬盘要一两分钟,但是还能够发现这个硬盘的正确型号、容量,也识别出来了分区类型是Ext4。一共四个分区,前三个都很小,不到1G,最后一个分区占用了绝大多数空间,应该就是数据分区了。并且后两个分区有个黄色三角感叹号,表示读取有问题。尝试对分区Check,发现Super Block不能读取,Super Block是挂载分区必须的文件,有多个备份,按照这篇文章尝试恢复super block以及从备份的super block直接挂载,都失败了。再用Gparted里面的Device → Attempt Data Rescue选项尝试救援,但被告知无法读取file system文件系统。至此GParted恢复失败,但知道了Super Block, File System都不能指望了。文件系统是文件名和文件树存储的地方,丢了这个意味着文件名也都丢掉了。下面只能尝试绕过文件系统恢复文件了。
  5. 尝试TestDisk PhotoRec,恢复中。PhotoRec是TestDisk中的一个子软件,可以绕过文件系统直接恢复文件。应该是通过文件内容猜测文件类型,所以这个也只能受限于软件已知的文件类型了。据称可以恢复数百种文件类型。TestDisk的作用是恢复分区表,比如说是错误的删除了分区就可以恢复。通过GParted知道这个盘分区表没有丢,所以不需要使用,直接用PhotoRec就可以,官方教程图文并茂,可以依靠,绝大多数默认选项即可。只是在选择Free/Whole这一步的时候,默认选项Free是用来找回手动删除的文件的,这儿需要选择Whole,从全盘找回文件。PhotoRec恢复时间非常长,几个小时也才恢复了几十M而已, 这样下去不得恢复个好几年。网上搜索PhotoRec恢复时间的,确实有人说要恢复好几年。。。
  6. 尝试ddrescue. 使用ddrescue,先克隆到另一个好的磁盘里面。一开始速度还可以,有20M/s左右,过了一晚上,只有0.5M/s了,预计需要22天,没办法,只能找淘宝。
  7. 淘宝。先是10元做了一个远程,发现读写很慢,要求寄盘检测,同时寄一个好盘用来copy数据。报价是:不开盘150元,开盘450元。过了一天,通知我磁头损坏要开盘。。。虽然肉痛也只能答应啊。
    跟淘宝商家的客服和技术都确认了一下问题,是磁头坏了。在B站上看了有的恢复硬盘的视频,确实有磁头坏了的情况。与前面我试图软件恢复但恢复时间以年计算这一点来看,似乎也比较符合磁头损坏造成的结果。从我自己的PhotoRec软件恢复结果来看,无分发读取文件系统,恢复的照片中也有一张只有一半图像,看起来好像是磁头缺少磁力不能很好读取。
    从对方收到到对方寄出一共花了4天时间。第一天白天跟我确认是磁头问题需要开盘,当天晚上确认开盘。第三天中午跟我确认了恢复的数据目录和几个照片是否能打开,第四天早上说已经复制完数据,准备寄回。

硬件产品(除了PCB以外)有些问题是最让人担心的, 一旦发生, 就可能导致产品部分或者推翻重来:

  • 干涉. 不同部件空间上相互插入.
  • 强度/力度不够.
  • 表面处理无法达到目标效果

    干涉

    干涉的问题并不总在设计阶段能发现. 导致干涉难以发现的原因包括:

  • 如果产品并非方方正正的造型, 那么在3D图上可能不能找到一个特定的角度观察到干涉.
  • 产品带有转动机构, 在3D图上未能发现在一个特定的角度干涉
  • 产品的部分组件不是结构工程师完全设计, 导致这部分组件在结构设计时不能完全呈现, 以至于发现不了干涉. 这其中尤其是PCB. 上面设计的LED灯/触摸弹簧/电容都可能与结构设计发生干涉.

PCB与产品结构干涉包括:

  • LED指示灯干涉. LED指示灯一般要通过结构透光出来, 结构上为了透光会做一定的设计, 如套筒等, 这要求LED的位置与结构套筒位置精确匹配, 包括焊点在内不能与LED灯产生干涉. 此时, 最好由结构设计师明确圈出LED灯的摆放位置
  • 触摸弹簧干涉. 触摸弹簧有一定的高度, 并且在结构中需要被略微压缩, 并保证压缩后不偏位, 因此触摸弹簧同样需要结构有套筒套住. 结构设计师也需要明确指出套筒摆放位置
  • 结构投影PCB干涉. 在结构工程师指出LED和触摸弹簧位置时, 可能由于结构件出模方向与PCB板不垂直, 导致结构设计师指出的LED和触摸弹簧位置是垂直投影位置而不是出模方向的投影位置, 进而导致干涉. 应设计为出模方向的投影位置.
  • 电容等有高度的器件干涉. 在PCB设计完成前, 结构工程师不知道电容的高度和布局, 导致实物干涉. 现在电容多采用贴片电容, 最高高度有10.5mm之多, 结构设计师设计时经常把PCB简化成一张薄板, 导致设计出的成品与PCB干涉. 由于PCB与结构设计同步开发, 这一步可能在开模后才能发现, 导致巨大损失. 结构工程师应为大功率器件区域预留相当高度(至少10mm空间), 并且功率越高的预留应越高空间. 提前与电子工程师沟通电容/电感/线圈等大个头器件布线位置和需要预留的高度, 在结构设计中用立方体占位.

干涉还可以在组装环节发现, 包括结构样机组装和T0开模样机的组装.

  • 结构样机组装可以发现大部分干涉问题, 但由于结构样机的不精确, PCB设计未完善, 包材未完成设计打样不能做跌落测试等问题不能发现干涉.
  • T0样机组装. 这一步应完成包材设计, 并做跌落实验. 跌落实验后检查损伤, 可以及发现强度/力度不够和干涉的问题.

强度/力度不够

产品较重或者有配重/旋转机构的时候, 需要注意:

  • 产品正常跌落和运输跌落的时候, 产品的结构能不能保护产品
  • 产品的旋转结构所用的阻尼件(转轴/螺丝/扭簧等)能不能在关节位置有效撑起产品. 不能有效撑起时需要对结构甚至外观做重大修改, 导致延期和模具损失

表面处理CMF

表面处理是在某一指定材质上, 展现指定颜色/图案/光洁度的工作. 所指定的颜色/图案/光洁度都受到材质本身和工艺的影响. 错误的设计导致指定效果完全不能达到或者成本极高, 导致产品失败.
设计师要明白, 在特定材质上能实现的颜色/图案/光洁度都是有限的, 并非什么颜色都能做, 什么图案都能印, 什么光洁度都能实现.

看到央视转发腾讯医典的文章,确实这些年都用错了. 当然也可能是医学不断有新知, 跟计算机一样,旧的知识过期很快.
参考: https://mp.weixin.qq.com/s/ynM7asQa445TbMG9vgnEIg
现在开放伤口消毒的唯一推荐就是碘伏. 伤口冲洗推荐是清水.

类型 成分 用途 禁忌
医用酒精 乙醇+水 皮肤消毒 不可用于开放性伤口消毒
碘伏 碘络合物+水 伤口消毒 碘过敏和甲亢禁用
碘酒 碘/碘化钾/乙醇 皮肤消毒 碘过敏和甲亢禁用
双氧水 过氧化氢 伤口冲洗 对组织高毒性,结痂期禁用
红霉素软膏 1%红霉素/液蜡/凡士林 治疗和预防皮肤感染 超过1周使用会耐药

另外,百多邦喷雾中主要有效成分是苯扎氯铵, 杀菌效果很好,但长期大量使用(如消毒巾中使用)会导致哮喘等过敏性疾病, 孕妇使用导致胎儿畸形 参考文档

已禁用的消毒剂:

  • 红药水: 汞溴红, 含汞, 会引起汞中毒, 并且没什么消毒作用, 不知道这玩意儿怎么用了这么多年
  • 紫药水: 甲紫/龙胆紫, 有一点点消毒作用, 可以使皮肤提前结痂, 但安全性同样有问题, 吸收后可致癌
    另外, 酒精已经是一类致癌物了, 甚至还是癌症的主要原因.

如题。
参考文献:
https://blog.csdn.net/u013014254/article/details/122045331
https://blog.csdn.net/qq_29654777/article/details/122903558

国内替代如下,以vuetify资源搜索为例:
bootcdn, 问题是不知道怎么找历史版本
字节cdn,虽然界面简陋了点但是很好用,速度快且支持历史版本
基于七牛的staticfile,搜索比较慢,也找不到历史版本
ban了以后才知道jsdelivr有GitHub加速功能。

参考: https://stackoverflow.com/questions/3378560/how-to-disable-gcc-warnings-for-a-few-lines-of-code
http://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Pragmas.html
示例如下:

#pragma GCC diagnostic error "-Wuninitialized"
    foo(a);         /* error is given for this one */

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wuninitialized"
    foo(b);         /* no diagnostic for this one */
#pragma GCC diagnostic pop

    foo(c);         /* error is given for this one */
#pragma GCC diagnostic pop 

    foo(d);         /* depends on command line options */

参考文档
speechSynthesis是浏览器自带的功能,甚至都不需要单独去安装。当然也有可能有的浏览器不支持。
最简单的三行代码:

var msg = new SpeechSynthesisUtterance();
msg.text = "你好,世界!";  //直接支持中文
window.speechSynthesis.speak(msg);